[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Банальый запрос
kuzroman
Пишу такой запрос

    	$zapros= "SELECT `id_unit` FROM `unit_tb_pxel` WHERE nal>0 And (";

if(lalala) $zapros.= "kol_cs>0 ";
if(lalala) $zapros.= "kol_v>0 ";
if(lalala) $zapros.= "kol_cir>0 ";
if(lalala) $zapros.= "yand1>0 " ;
if(lalala) $zapros.= "yand2>0 ";
if(lalala) $zapros.= "kol>0 ";

$zapros.= ")";


Скажите как в данном случаее,
там где идут if ы
расставлять OR?

Допустим может прийти 2 условия, а может и одно.

and ( kol_cs>0 or kol_v>0) или может быть так and ( kol_cs>0 )


Башка уже запарилась.



Спустя 6 минут, 23 секунды (4.04.2011 - 17:22) Trianon написал(а):
$ors = array();
if(!empty($arr['kol_cs'])) $ors[] = "kol_cs>0 ";
if(!empty($arr['kol_v'])) $ors[] = "kol_v>0 ";
...

if(!empty($arr['kol'])) $ors[] = "kol>0 ";
$ors = implode("\r\n OR ", $ors);
$sql = "SELECT `id_unit` FROM `unit_tb_pxel` WHERE nal>0 ";
if(!$ors) $sql .= "AND ($ors)";

Спустя 18 минут, 56 секунд (4.04.2011 - 17:41) kuzroman написал(а):
Спасибо возьму на заметку!


_____________
kuzroman@list.ru
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.