Permalänk

konstigt php problem

Hej,

Jag har ett litet problem med php (säkert något litet jag missat bara).

$catA = array($test1, $test2, $test3, $test4); $or = false; for ($i = 0; $i < count($catA); $i++){ if($catA[$i]){ if(!$or){ $where = "WHERE cat1 = '".$i."' or cat2 = '".$i."' or cat3 = '".$i."'"; print( $where ); $or = true; }else{ } } }

problemet är att $where blir 0 hela tiden av någon anledning.

EDIT:

Nu vart jag ännu mer förvirrad. Jag ändrade så att det blev såhär istället:

$catA = array($test1, $test2, $test3, $test4); $orB = False; for ($i = 0; $i < count($catA); $i++){ $toadd = $i + 1; if($catA[$i]){ if(!$orB){ $where = "WHERE cat1 = '".$toadd."' or cat2 = '".$toadd."' or cat3 = '".$toadd."'"; $orB = True; }else{ $where = $where." AND cat1 = '".$toadd."' or cat2 = '".$toadd."' or cat3 = '".$toadd."'"; } } } $where = $where." ORDER BY created DESC LIMIT 0,5"; print( $where );

och nu printar den ut något vettigt iallafall men problemet är att den printar ut för mycket. även fast $catA[$i] = false så fortsätter den :S

så tillslut blir $where = "WHERE cat1 = '1' or cat2 = '1' or cat3 = '1' AND cat1 = '2' or cat2 = '2' or cat3 = '2' AND cat1 = '3' or cat2 = '3' or cat3 = '3' AND cat1 = '4' or cat2 = '4' or cat3 = '4' ORDER BY created DESC LIMIT 0,5"

när det egentligen ska blir såhär (om $test1 = true, 2 = false, 3 = false och 4 = true):

WHERE cat1 = '1' or cat2 = '1' or cat3 = '1' AND cat1 = '4' or cat2 = '4' or cat3 = '4' ORDER BY created DESC LIMIT 0,5

EDIT 2: löste det, $catA[$i] var tydligen en string och inte boolean.