Autor Zpráva
T-fon
Profil
Chtěl bych se zeptat, jak byste nejjednodušeji vyřešili, když chci vypsat položky, které obsahují zadaný rok ve formuláři, tzn. ...WHERE rok='.$zadany_rok.' ... a teď mi jde o to, když se do formuláře rok nezadá, aby to vypsalo všechny položky. Co bych měl v té proměnné mít? Zkoušel jsem nějaké regulární výrazy, ale nefungovalo mi to. Předem děkji za rady.
Kajman
Profil
Prostě tam tu podmínku vůbec nedávejte.
T-fon
Profil
ono je to vytržený z kontextu, ale ta podmínka tam prostě musí být, a buď v tý proměnný bude rok, nebo "něco", ale abych nemusel psát x-sql dotazů, tak bych chtěl mít jeden, a tohle nějak ošetřit....
Joker
Profil
T-fon:
ta podmínka tam prostě musí být
Proč? Když se má hledat bez podmínky, tak tam naopak být nemá.
T-fon
Profil
no ale ono jde o to, že chci mít jen jeden jedinej SQL dotaz na to, když se ten rok do formuláře zadá i když se tam nezadá. takže když se rok zadá, tak se vykoná ten dotaz s podmínkou, který jsem psal. ale co když uživatel rok nezadá? já chci, aby to fungovalo tak, že se vypíšou všechny položky, tak jak to udělat? tu podmínku tam musim mít pro případ že uživatel rok zadá. a další SQL dotaz bez podmínky vytvářet nechci (ve skutečnosti bych jich totiž musel vytvořit několik dalších).
HajekJirka
Profil
Nevím jestli je to přesně to co chceš, ale zkusil bych to nějak takto:

$dotaz = "";
if (isset ($zadany_rok)) {
  $dotaz = "WHERE rok='$zadany_rok'";
}
A místo WHERE rok='.$zadany_rok.' dej jen $dotaz.
Joker
Profil
T-fon:
ale co když uživatel rok nezadá?
Tak se to vykoná bez podmínky, co je na tom těžkého?

tu podmínku tam musim mít pro případ že uživatel rok zadá.
Když uživatel podmínku zadá, vykoná se to s podmínkou, když uživatel podmínku nezadá, tak bez ní.

další SQL dotaz bez podmínky vytvářet nechci (ve skutečnosti bych jich totiž musel vytvořit několik dalších).
Jaký další SQL dotaz? Prostě se ten dotaz sestaví dynamicky, jak předvádí HajekJirka.
T-fon
Profil
HajekJirka:
Nevím jestli je to přesně to co chceš, ale zkusil bych to nějak takto:

díky, tohle je přesně ono, já nad tim přemýšlel moc složitě, prostě mi nějak nedocházelo, jak tam to WHERE dát nebo nedát v závislosti na tom, jestli to uživatel zadá nebo ne a tohle to řeší

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: