Autor | Zpráva | ||
---|---|---|---|
Majo Profil * |
#1 · Zasláno: 26. 7. 2010, 23:52:59
Príklad:
do vyhľadávania vložím vetu: "dnes bol pekný deň" a chcel by som z tejto vety použiť všetky slová vo vyhľadávaní, teda pomocou WHERE vypísať záznamy ktoré obsahujú slovo "dnes" potom ďalší príkaz a hľadať slovo "bol", atď. Skrátene použiť toľko príkazov SELECT...WHERE koľko je vo vete slov. Dá sa to nejako? |
||
Alphard Profil |
#2 · Zasláno: 27. 7. 2010, 00:05:37
Vaše zadání splňuje explode() a následný foreach s db dotazem na každé slovo. Možná doplněné o array_unique().
Nehledáte ale spíš fulltextové hledání? Databázi by se předala celá věta a vrátily by se vám výsledky seřazené podle relevance. |
||
Majo Profil * |
#3 · Zasláno: 27. 7. 2010, 23:02:01
Alphard:
To s tým fulltextom vyzerá zaujímavo, niečo som o tom čítal, ale tuším že sa to ťažko imlpementuje už do hotového projektu - zmena DB a pod.... Alebo sa mýlim? |
||
Alphard Profil |
#4 · Zasláno: 27. 7. 2010, 23:05:07 · Upravil/a: Alphard
Záleží, jaký máte typ tabulek, fulltext pracuje na MyISAM.
|
||
Majo Profil * |
#5 · Zasláno: 28. 7. 2010, 09:20:13
Áno, typ mám MyISAM
|
||
__construct Profil |
#6 · Zasláno: 28. 7. 2010, 10:33:21
SELECT * FROM `tabulka` WHERE MATCH (`tabulka`.`text`) AGAINST ('dnes bol pekný deň' IN BOOLEAN MODE); |
||
Majo Profil * |
#7 · Zasláno: 28. 7. 2010, 17:13:30
__construct:
'tabulka' je názov tabuľky a 'text' je stĺpec, v ktorom budem hľadať? |
||
panther Profil |
#8 · Zasláno: 28. 7. 2010, 17:27:10
Majo:
„'tabulka' je názov tabuľky a 'text' je stĺpec, v ktorom budem hľadať?“ ano. |
||
Časová prodleva: 14 let
|
0