| 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: 15 let
|
|||
0