Autor | Zpráva | ||
---|---|---|---|
skrofa Profil * |
#1 · Zasláno: 21. 4. 2011, 22:41:51
Mám následující dotaz:
$b=mysql_query(" DECLARE i INT; SET i = 0; WHILE i < $pocet_slov (SELECT `cislo`,`nadpis` FROM `clanky` WHERE `nadpis` LIKE '%$slovo[i]%') UNION(SELECT `cislo`,`nadpis` FROM `clanky` WHERE `obsah` LIKE '%$slovo[i]%') UNION(SELECT `cislo`,`nadpis` FROM `clanky` WHERE `zaver` LIKE '%$slovo[i]%') SET i = i + 1; END WHILE; "); a problém mám s tím indexem [i] v proměnné $slovo. Nevím jak tam dostat obsah z proměnné i definované v SQL. Nevím jestli používám správné termíny, tak snad pochopíte, co mám na mysli. |
||
Keeehi Profil |
#2 · Zasláno: 21. 4. 2011, 23:07:31
skrofa:
Chápu, ale takto to nepůjde. Řešením je to poskládat v PHP: $slovo = array("prvni", "druhe", "treti"); foreach ($slovo as $key => $value){ if($key == 0) $dotaz = "(SELECT `cislo`,`nadpis` FROM `clanky` WHERE `nadpis` LIKE '%$value%')\n"; else $dotaz .= "UNION (SELECT `cislo`,`nadpis` FROM `clanky` WHERE `obsah` LIKE '%$value%')\n"; } echo $dotaz; $b=mysql_query($dotaz); nebo: $slovo = array("prvni", "druhe", "treti"); foreach ($slovo as $key => $value){ if($key == 0) $dotaz = "SELECT `cislo`,`nadpis` FROM `clanky` WHERE `nadpis` LIKE '%$value%'"; else $dotaz .= "OR `obsah` LIKE '%$value%'"; } echo $dotaz; $b=mysql_query($dotaz); |
||
skrofa Profil * |
#3 · Zasláno: 22. 4. 2011, 23:21:44
Děkuji za nakopnutí.
Už na tom pracuji a zatím vše funguje bezvadně. |
||
Časová prodleva: 13 let
|
0