Autor | Zpráva | ||
---|---|---|---|
noem Profil |
#1 · Zasláno: 7. 4. 2006, 12:23:26
Mám problém s výberom z db, prosím vás o radu. Pokúsim sa ho opísať na jednoduchom príklade.
V db mám tabulku knihy. Je v nej jeden záznam id | nazov | rok ----------------------- 1 | Kniha | 2004 Máme teda knihu s názvom Kniha, ktorá bola vydaná v roku 2004 (má id 1). V skripte mám povedzme premennú s názvom $roky, ktorá obsahuje roky oddelené ; .Potrebujem z db vybrať knihu, ktorej rok zodpoveda aspon jednemu roku z premennej $roky. Teraz mám skript : $roky = '2001;2002;2003;2004;2005'; $sql = mysql_query("SELECT * FROM kniha WHERE '%rok%' LIKE '$roky'"); Toto však vráti 0 výsledkov. To '%rok%' sa mi tam nepozdáva, čím sa to dá nahradiť ? Ako by ste to urobili vy ? |
||
juneau Profil |
#2 · Zasláno: 7. 4. 2006, 15:19:15
SELECT * FROM kniha WHERE rok LIKE '%$roky%';
... snad takhle, pokud to hodlate resit timto zpusobem. Lepsi by bylo ale ulozit roky jako $roky='2001,2002,2003,2004,2005'; a zkusit dotaz SELECT * FROM kniha WHERE rok IN ($roky); (vice v tomto clanku: http://interval.cz/clanky/sql-vnorene-dotazy/) ... otazkou je, jestli to ma mysql implementovane (resp od ktere verze). |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0