Autor Zpráva
skrofa
Profil *
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
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 *
Děkuji za nakopnutí.
Už na tom pracuji a zatím vše funguje bezvadně.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0