IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: Pohyblivy pocet parametrov za podmienkov WHERE

Aktivity
Avatar
Tayson
Člen
Avatar
Tayson:6.10.2014 21:05

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:6.10.2014 21:06

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:6.10.2014 21:10

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
6.10.2014 21:10
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
Jenkings
Tvůrce
Avatar
Jenkings:6.10.2014 21:11

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
Tvůrce
Avatar
Odpovídá na MrPabloz
Jenkings:6.10.2014 21:15

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:6.10.2014 21:22

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
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.