Autor | Zpráva | ||
---|---|---|---|
sedgar Profil * |
#1 · Zasláno: 9. 4. 2008, 10:40:08
Dobry den,
potreboval by som vyhladat uzivatelom zadany retazec v celej tabulke. Viete niekto ako na to? Zatial prehladavam iba jeden stlpec: $dotaz1 = mysql_query("SELECT os_meno, os_priezvisko, os_id, ut_kod, ut_veduci FROM osoby os, utvary ut WHERE os.os_meno LIKE '$htext' ORDER BY os_priezvisko") or die ("2chybny SQL dotaz: ". mysql_errno().":".mysql_error()."<br>"); Dakujem. |
||
nightfish Profil |
#2 · Zasláno: 9. 4. 2008, 11:40:45
pokud chceš něco vyhledat ve více sloupcích, musíš samozřejmě použít více podmínek - pro každý sloupec jednu
jinak pokud není ve tvém výše uvedeném dotazu nějaká chyba, tak ti to vrací kartézský součin obou tabulek, což je málokdy vítané... |
||
sedgar Profil * |
#3 · Zasláno: 9. 4. 2008, 11:57:00
jj... mas pravdu... chyba tam prepojenie klucov:
$dotaz1 = mysql_query("SELECT os_meno, os_priezvisko, os_id, ut_kod, ut_veduci FROM osoby os, utvary ut WHERE os.ut_id = ut.ut_id AND os.os_meno LIKE '$htext' ORDER BY os_priezvisko") or die ("2chybny SQL dotaz: ". mysql_errno().":".mysql_error()."<br>"); a neexistuje moznost (aj inym sposobom ako pouzitim LIKE) prehladat celu tabulku? |
||
ninja Profil |
#4 · Zasláno: 9. 4. 2008, 12:00:59
sedgar: jeste muzes pres CONCAT spojit vice sloupcu do jednoho stringu a hledat v nem.
|
||
DoubleThink Profil * |
#5 · Zasláno: 9. 4. 2008, 12:03:23 · Upravil/a: DoubleThink
fulltext vyhladavanie
Ve tvém dotazu žádný fulltext nepoužíváš. Pokud chceš hledat ve více sloupcích najednou a nepotřebuješ rozlišovat, ve kterém bylo slovo nalezeno, definuj FULLTEXT index nad více sloupci. V query pak použij MATCH - AGAINST konstrukci. |
||
sedgar Profil * |
#6 · Zasláno: 9. 4. 2008, 12:13:09
DoubleThink: a da sa ten index vytvorit aj v uz existujucej DB obsahujucej data?
pokusil som sa ho vytvorit podla: http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html ale nedari sa... |
||
Časová prodleva: 16 let
|
0