![]() |
как при помощи foreach cформировать запрос? есть массив сформированный чекбоксами нужно задать запрос select * from tovar9 where (id=3) or (id=4) пишу $q="select * from tovar9 where"; $n=""; foreach($_POST['Arr'] as $k=>$v) if($k<$v) ** $n=$n." (id=$v) or "; ** else ** $n=$n." (id=$v)"; ** $q=$q.$n; echo $q; // $q="select * from tovar9 where id= "; // $q = $q.implode(' or `id`= ', $_POST['Arr']); if (!mysql_connect($SERVER,$USER,$PASSWD)) ** echo $head; echo "<h1>Ошибка сервера MySQL.Mysql server error</h1>"; echo"</body></html>"; exit; ** mysql_select_db($DB); $r=mysql_query($q)or die("ошибка в запросе"); выводит select * from tovar9 where (id=1</tr) or (id=2</tr) or ошибка в запросе как убрать последнее "or" и убрать</tr> |
как из этого select * from tovar9 where (id=1</tr) or (id=2</tr) or сделать это select * from tovar9 where(id=1</tr) or (id=2</tr) а как поубирать </tr>? |
как из этого select * from tovar9 where (id=1</tr) or (id=2</tr) or сделать это select * from tovar9 where(id=1</tr) or (id=2</tr) ума хватило сделать а как поубирать </tr>? |
можно так: [code] ...id=str_replace('</tr','',$v)... [/code] а лучше выяснить откуда там tr и сделать валидацию на число + isset($_POST['Arr']). |
нет так $v=($_POST['Arr'][$key]); if ($key+1 < $size) ** $n=$n."(id=str_replace('</tr','',$v)) or "; ** else if ($key+1 === $size) ** $n=$n."(id=str_replace('</tr','',$v))"; break; ** ** $q=$q.$n; echo($q); пишет select * from tovar9 where(id=str_replace('</tr','',1</tr)) or (id=str_replace('</tr','',2</tr)) откуда</tr> не знаю |
а так if ($key+1 < $size) ** $n=$n."(id=str_replace('</tr>','',$v)) or "; ** else if ($key+1 === $size) ** $n=$n."(id=str_replace('</tr>','',$v))"; break; ** пишет select * from tovar9 where(id=str_replace('','',1','',2</tr)) |
а так for ($key = 0, $size = count($_POST['Arr']); $key < $size; $key++) ** $v=($_POST['Arr'][$key]); if ($key+1 < $size) ** $d=str_replace('</tr','',$v); $n=$n."(id=$d) or "; ** else if ($key+1 === $size) ** $d=str_replace('</tr','',$v); $n=$n."(id=$d)"; break; ** ** работает спасибо |
q = "where 1=2"; ... q .= " or a=$i" |
Текущее время: 14:03. Часовой пояс GMT +3. |