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?
ajutor
Moderator: Moderatori
Pey nu 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.
-
- Senior Member
- Mesaje: 956
- Membru din: Mar Iul 20, 2004 9:23 am
- Localitate: Între scaun şi tastatură
ia si citeste asta:
http://dev.mysql.com/doc/mysql/en/pattern-matching.html
http://dev.mysql.com/doc/mysql/en/pattern-matching.html
-
- Average Member
- Mesaje: 149
- Membru din: Vin Aug 20, 2004 9:15 pm
- Localitate: Alexandria
- Contact:
-
- PHPRomania Supporter
- Mesaje: 10
- Membru din: Joi Feb 10, 2005 10:19 am
- Contact:
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
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
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]
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]
- vectorialpx
- Senior Member
- Mesaje: 4832
- Membru din: Mar Mar 01, 2005 9:48 am
- Localitate: Bucuresti
- Contact:
ma confrunt cu aceeasi problema ...
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 !
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 !
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 6 vizitatori