Autor Zpráva
smisek05
Profil
Zdravim,

mam formular a v nem 3 policka se seznamem.



jakym zpusobem mam predat hodnoty do MySQL dotazu?

napadlo me to udelat takhle:

$vysledek = mysql_query('SELECT * FROM `automaty` WHERE `model` LIKE \'%'.$dotaz2.'%\' AND `artikl` = '.$dotaz1.' AND `stav` LIKE \'%'.$dotaz3.'%\'');


ale pokud uzivatel nevybere neco ze vsech seznamu hodi me to chybu
Tomashek
Profil
nevím co ma formulá udělat, ale zkus předtím použít podmínku :

if(!empty($dotaz1) and !empty($dotaz2) and !empty($dotaz3)){$vysledek = mysql_query('SELECT * FROM `automaty` WHERE `model` LIKE \'%'.$dotaz2.'%\' AND `artikl` = '.$dotaz1.' AND `stav` LIKE \'%'.$dotaz3.'%\'');}
smisek05
Profil
diky za radu :-)

mam 3 formularove pole se seznamem, v kazdem seznamu ma uzivatel mozno vybrat urcite parametry $dotaz1 - 3, podle kterych se prohleda dtb a vypise.

muzu si udelat podminku jak jsi psal

if(!empty($dotaz1) and !empty($dotaz2) and !empty($dotaz3)){$vysledek = mysql_query('SELECT * FROM `automaty` WHERE `model` LIKE \'%'.$dotaz2.'%\' AND `artikl` = '.$dotaz1.' AND `stav` LIKE \'%'.$dotaz3.'%\'');}
elseif(!empty($dotaz1) and !empty($dotaz2)){$vysledek = mysql_query('SELECT * FROM `automaty` WHERE `model` LIKE \'%'.$dotaz2.'%\' AND `artikl` = '.$dotaz1);}
atd ..


problem je v tom ze mam celkem dlouhy kod ... melo by to jit nejak jednoduseji ale me nenapada jak.
a dalsi problemek je, ze uzivatel by mel mit moznost v kazdem seznamu vybrat vice nez jednu polozku ... a tady se uz hodne ztracim ...
bohyn
Profil *
Tak to budes muset asi zpracovat podminku zvlast v nejakym cyklu a pak vlozit do dodtazu

$where = "";

// opakovat pro vsechny tri podminky
foreach($_GET['dotaz1'] as $val) {
$where .= ...
}

a pak

$query = "SELECT * FROM `automaty` WHERE ".$where;

$vysledek = mysql_query($query);

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