Oznámení
Omlouváme se, provoz fóra byl ukončen
dibifluent a zavorkovane where???
Upozornění: Tohle vlákno je hodně staré.
před 6 lety
- flexroad
- Člen | 120
Ahoj,
pouzivam dibi 2.0.1 a potreboval bych poradit, jak pridat do „where“ casti dotazu zavorky mezi jednotlive operatory.
Potreboval bych neco takoveho jako:
<?php
SELECT * FROM tabulka WHERE (jmeno ='test1' OR jmeno ='test2') AND (prijmeni ='test3' OR prijmeni='test4')
?>
pokud pouziju toto,
<?php
$x1 = array('jmeno =%s','test1');
$x2 = array('jmeno =%s','test2');
$group1 = array($x1, $x2);
$x3 = array('prijmeni =%s','test3');
$x4 = array('prijmeni =%s','test4');
$group2 = array($x3, $x4);
$q->where(array('%or'=>$group1));
$q->where(array('%or'=>$group2));
$q->test();
?>
vrati to: WHERE
(` = (jmeno ='test1') OR (jmeno ='test2')) AND (
` = (prijmeni
=‚test3‘) OR (prijmeni=‚test4‘))
Jak odstranit ten retezec (`` = ) zacinajici uvnitr zavorky???
Diky za cokoliv
FlexRoad
před 6 lety
- Milo
- Nette Core | 1119
$q->where('(%or)', $group1);
$q->where('(%or)', $group2);
před 6 lety
- flexroad
- Člen | 120
Diky Milo, jsi džinius. :D Kdo by to byl rekl. Neexistuje nahodou k tomu zapisu dibifluent nekde nejaka rozumnejsi dokumentace? Budu ted asi nad dibifluent travit dost casu…a snad pujdou bez vetsich problemu definovat i podobne radosti jako je treba:
<?php
select pan.name,max(upal.time)
, (sum(case when (upal.updatetype=4) THEN 1 ELSE 0 END)-sum(case when (upal.updatetype=6) THEN 1 ELSE 0 END) ) totalusernotes
, (SUM(case when (upal.updatetype=18) THEN 1 ELSE 0 END)-SUM(case when (upal.updatetype=19) THEN 1 ELSE 0 END)) totalcandidates
, (sum(case when (upal.updatetype=8) THEN 1 ELSE 0 END)-sum(case when (upal.updatetype=10) THEN 1 ELSE 0 END)) totalactions
?>
nebo treba
<?php
select (case when (ro.suffix ='%' ) then round(ifnull(r.value*100,null),2) else round(ifnull(r.value,null),2) end) as value, c.name name, c.type type, ro.id id, unix_timestamp( c.startdate) startdate, c.durationtype durationtype, ro.variancetype variancetype
?>
:)