Do nového roku jako lepší programátoři? Znovu otevíráme večerní školu programování. Nette framework, návrhové vzory, testování nebo vůbec poprvé kurzy ASP.NET dostupné odkudkoli v republice.

Diskuze: Pohyblivy pocet parametrov za podmienkov WHERE

PHP PHP Pohyblivy pocet parametrov za podmienkov WHERE American English version English version

Avatar
Tayson
Člen
Avatar
Tayson:

Zdravim. Mate niekto nejaku ukazku toho ako vytvorim SELECT s podmienkou WHERE kde tam bude bud jedna polozka alebo dve alebo tri podla toho ci su naplnene alebo nie.

 
Odpovědět 6.10.2014 21:05
Avatar
Tayson
Člen
Avatar
Odpovídá na Tayson
Tayson:

Vlastne ci sa bude vyberat z DB iba z jednej podmienky alebo jednej aj druhej kde budu spojene cez AND

 
Nahoru Odpovědět 6.10.2014 21:06
Avatar
MrPabloz
Člen
Avatar
MrPabloz:

Můžeš udělat něco ve stylu

$sql_query="SELECT * FROM Table_name WHERE ";
boolean first = true;
if($var1!="")
**{**
if(first)
**{**
    $sql_query+="var1 == '$var1'";
first = false;
}
else
**{**
    $sql_query+="and var1 == '$var1'";

}

}

if($var2!="")
**{**
if(first)
**{**
    $sql_query+="var2 == '$var2'";
first = false;
}
else
**{**
    $sql_query+="and var2 == '$var2'";

}
}
:)
Editováno 6.10.2014 21:12
Nahoru Odpovědět  -1 6.10.2014 21:10
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
Jenkings
Redaktor
Avatar
Jenkings:

Pokud ti jde o složenou podmínku WHERE z více.
pak můžeš například dynamicky vkládat podmínku do dotazu tak, že si je naházíš do pole například:

$podminky = array();
$array_push($podminky,"a=b");
$array_push($podminky,"b=c");
databazovafunkce("SELECT * FROM tabulke WHERE ".implode(" OR ",$podminky));

pokud jsem to pochopil špatně, tak lépe popiš problém

Editováno 6.10.2014 21:12
Nahoru Odpovědět 6.10.2014 21:11
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
Jenkings
Redaktor
Avatar
Odpovídá na MrPabloz
Jenkings:

Nepřijde ti to co jsi napsal zbytečně komplikované ? ;)

Nahoru Odpovědět 6.10.2014 21:15
Největší časovou náročnost má výpočet časové náročnosti..
Avatar
MrPabloz
Člen
Avatar
Odpovídá na Jenkings
MrPabloz:

Nevidím důvod proč by mělo, v podstatě to dělá to samé co implode, a je to napsané jednoduše jen v podmínkách, sice to je na víc řádků, ale pokud někdo nezná funkci implode, tohle pochopí, takže ne, komplikované mi to nepřijde :)

Nahoru Odpovědět  -1 6.10.2014 21:22
Harmonie těla a duše, to je to, oč se snažím! :)
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.