Autor Zpráva
noem
Profil
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
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).
Toto téma je uzamčeno. Odpověď nelze zaslat.

0