Autor Zpráva
guest
Profil
Nedala by se následující čás SQL dotazu nějak optimalizovat abych nemusel psát opakovaně OR? Vzhledem k tomu, že obdobných podmínek mám v kódu více, stává se ten kód nepřehledným

SELECT * FROM tabulka WHERE (mobil LIKE '%" . $_REQUEST['filtr'] . "%' or tel1 LIKE '%" . $_REQUEST['filtr'] . "%' or tel2 LIKE '%" . $_REQUEST['filtr'] . "%' or tel_prace LIKE '%" . $_REQUEST['filtr'] . "%')

Napříkald nějakyprikaz(mobil, tel1, tel2, tel_prace.......) LIKE '%" . $_REQUEST['filtr'] . "%'

Díky
one_k
Profil
Ja osobne bych resil vydledavani uplne jinak. Ale to je jedno..
Vyhledavani se tu nedavno resilo tak dej hledat a urcite to najdes.
souki
Profil
mohl by jsi na to požít v PHP cyklus for.... ale imho ten dotaz bude sice přehledný a pořád stejně pomalý
guest
Profil
Ja osobne bych resil vydledavani uplne jinak. Ale to je jedno..

neni to jedno, mě to zajímá jak bys to tedy řešil. Já na tomhle způsobu netrvám - právě že mi přijde dost kostrbatý.

Navíc souki píše, že je tento způsob vyhledávání pomalý ... pokud je nějaký rychlejší způsob vyhledávání, budu rád
one_k
Profil
guest
ok takze muj zpusob vyhledavani:

vytvorit si vlastni script na indexovani sve databaze(doporucuji v necem jinem nezli PHP) a jeste by mohl zprostredkovavat komunikaci mezi databazi pro indexovani.

Vypadalo by to takto:
jednou tydne zaindexujes obsah
pri hledani posles scriptu dotazovany retezec - on ti vrati id a tabulku ze ktere to id je a ty si daslim dotazem zjistis podrovbnejsi info o danem produktu

IMHO takovyto script si myslim uz bude vytvoren napr. na phpclasses.org nebo sourceforge by neco mohlo byt..
guest
Profil
one_k
tak to už je na mě poněkud složité, ale i tak děkuji
guest
Profil
zkusil jsem to trochu předělat a u tohodle dotazu:

SELECT * FROM telefony WHERE MATCH(jmeno, prijmeni, firma) AGAINST('pokus')

mi to hází následující chybu:
Syntaktická chyba (chybí operátor) v dotazovém výrazu MATCH(jmeno, prijmeni, firma) AGAINST('pokus')

Jaký operátor tam chybí?
Kajman_
Profil *
Tak si před or zařádkujte, bude to přehlednější.
guest
Profil
Kajman_
Tak si před or zařádkujte, bude to přehlednější.


to máte pravdu, ale myslel jsem jestli to nejde nějak jednodušeji napsat vzhledem k tomu, že hledám stejný výraz v několika sloupcích, ale asi to zatím opravdu jen odřádkuji aby to bylo alespoň přehledné.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0