ajutor

Proiect care işi propune realizarea unui motor de căutare pentru site-urile .ro.

Moderator: Moderatori

Vizitator

ajutor

Mesajde Vizitator » Mar Feb 15, 2005 8:30 pm

Am si eu o problema: am un director web in php dar nu stiu cum sa fac un modul de cautare.
In baza de date (mysql), am introdus un criteriu: keywords.
Cum fac sa caut in keywords?



aolex
Senior Member
Mesaje: 662
Membru din: Vin Dec 17, 2004 11:08 pm

Mesajde aolex » Mar Feb 15, 2005 11:04 pm

SELECT FROM keywords WHERE keyword = ceva :)

Vizitator

Mesajde Vizitator » Mie Feb 16, 2005 12:22 pm

Pey nu :D Asa ar merge dc ar fi un singur cuvant, dar in keywords sunt mai multe cuvinte despartite prin virgula. Daca folosesc "SELECT FROM keywords WHERE keyword = ceva" trebuiesc adaugate toate cuvintele intocmai ca in baza de date. eu vreu sa afiseze toate site-urile indexate care contin (dar nu se limiteza) la cuvantul cautat.

johnutz
Senior Member
Mesaje: 956
Membru din: Mar Iul 20, 2004 9:23 am
Localitate: Între scaun şi tastatură

Mesajde johnutz » Mie Feb 16, 2005 4:05 pm


mihnea sim
Average Member
Mesaje: 149
Membru din: Vin Aug 20, 2004 9:15 pm
Localitate: Alexandria
Contact:

Mesajde mihnea sim » Mie Feb 16, 2005 6:47 pm

select * from keywords where keyword like '%wordtosearch%'
"o istorie aberanta si injusta copleseste fiinta si o arunca afara din lumea ei"

octavian.p
PHPRomania Supporter
Mesaje: 10
Membru din: Joi Feb 10, 2005 10:19 am
Contact:

Mesajde octavian.p » Mie Feb 16, 2005 8:13 pm

un like pe un camp text nu e cea mai optima varianta

recomand o implementare de phpDig http://www.phpdig.net (ori o varianta asemanatoare) sau daca iti da mana poti scrie tu un spider ptr situl tau pornind de la ceva asemanator ...

hint: se poate modifica usor si adauga un fel de relevanta a paginilor

Ice_Man
PHPRomania Supporter
Mesaje: 23
Membru din: Dum Oct 24, 2004 12:54 pm
Contact:

Mesajde Ice_Man » Mie Feb 23, 2005 11:03 pm

Cea mai `frumoasa` varianta e cea in care folosesti un indexer FULLTEXT [azi am descoperit si eu jucaria]..selectarea e cat se poate de usoara, daca lucrezi cu FULLTEXT.
alter tabela add FULLTEXT(camp1,camp2,camp3)
select * from tabela match(camp1,camp2,camp3) against('cuvantul_cautat')
Pt mai multe chestii interesante click aici: http://dev.mysql.com/doc/mysql/en/fulltext-search.html

PS: atentie insa, index-ul FULLTEXT nu merge folosit cu tip-ul "InnoDB", trebuie tip "MyISAM" [testat pe pielea mea] :wink:

Vizitator

Mesajde Vizitator » Sâm Feb 26, 2005 9:15 am

[quote="aolex"]SELECT FROM keywords WHERE keyword = ceva :)[/quote]

Avatar utilizator
vectorialpx
Senior Member
Mesaje: 4832
Membru din: Mar Mar 01, 2005 9:48 am
Localitate: Bucuresti
Contact:

ma confrunt cu aceeasi problema ...

Mesajde vectorialpx » Mar Mar 01, 2005 11:44 am

si eu am pus un motor de cautare la o baza de date. As vrea sa-ti dau o idee. poti sa faci cautare dupa mai multe criterii (campuri : dupa nume, dupa data, dupa...., etc) astfel :
faci un form cu : un meniu (critriile de cautare) si un textfield.
- in meniu pui ca valoare la optiuni campurile tabelului care vrei sa fie criterii.

dupa cum a zis si mihnea sim

$criteriu=$_POST['meniul_tau'];
$ce_sa_cauti=$_POST['text_field_ul_tau'];
select * from tabelul_tau where $criteriu like '%$ce_sa_cauti%'


:)

---- sau ceva de genul asta ... :?

vezi cum arata ce am zis la
http://www.infobytedb.ro/info_byte/membrii_lista.php
uite-te la 'Cauta user dupa :'

Sper ca te-am ajutat !

andrei188
New Member
Mesaje: 4
Membru din: Mar Feb 08, 2011 3:49 pm

sal

Mesajde andrei188 » Mar Feb 08, 2011 4:00 pm

foarte util multumesc


Înapoi la “Motor de cautare”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori