Autor | Zpráva | ||
---|---|---|---|
noem Profil |
#1 · Zasláno: 7. 4. 2006, 12:18:07
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 ? |
||
noem Profil |
#2 · Zasláno: 7. 4. 2006, 12:29:24
Ja viem, že bude asi veľmi jednoduche riešenie, ale neviem ake :( Poraďte, prosím Vás ak viete...
|
||
mambo5 Profil * |
#3 · Zasláno: 7. 4. 2006, 12:30:14
nevim jestli to neni moc slozite, treba to jde jednodusseji, ale tu promennou $roky bych rozkouskoval do pole pomoci split a pak bych pole prosel foreach
|
||
noem Profil |
#4 · Zasláno: 7. 4. 2006, 12:32:22
Neviem si celkom dobre predstavit ako to myslis, mohol by si, prosim, napisat nejaku malu ukazku ?
|
||
noem Profil |
#5 · Zasláno: 7. 4. 2006, 12:53:00
Len by som potreboval vediet syntax, ako spravne nahradit hociaky pocet znakov v tom dotaze
|
||
24k Profil * |
#6 · Zasláno: 7. 4. 2006, 13:16:47
tak snad pouzit IN $roky
a $roky oddelit carkou pres IMPLODE .. |
||
JersyWoo Profil |
#7 · Zasláno: 7. 4. 2006, 13:51:24
A co zkusit definici between(čísla mezi čísly)?
$sql = mysql_query("SELECT * FROM kniha WHERE 'rok' BETWEEN 2001 AND 2005'"); |
||
souki Profil |
#8 · Zasláno: 7. 4. 2006, 14:53:41
$podminka=Explode(";",$roky);
foreach($podminka as $rok){ $sql = mysql_query("SELECT * FROM kniha WHERE rok=$rok"); } takhel projdeš postupně všechny roky co máš v $roky..... nebo... $podminka=Explode(";",$roky); $podminka=" WHERE rok=".Implode(" OR rok=",$podminka); $sql = mysql_query("SELECT * FROM kniha $podminka"); |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0