Фильтрация по 2 дополнительным свойствам

#
Фильтрация по 2 дополнительным свойствам
Параметры для фильтрации следующие :

   if (isset($_GET['type'])){
             $element['type'] = 1;
             $element['prefix'] = ' and ';
             $element['property_id'] = to_int($_GET['type']);
             $element['if'] = '=';
             $element['value'] = '1';
             $element['sufix']='';
             $property['select'][] = $element;
         }
         if (isset($_GET['q'])){
             $element['type'] = 1;
             $element['prefix'] = ' and ';
             $element['property_id'] = 21;
             $element['if'] = '=';
             $element['value'] = to_int($_GET['q']);
             $element['sufix']='';
             $property['select'][] = $element;
         }

Если осуществлять фильтрацию по отдельности все работает, но есть существует обе переменные то mysql возвращает пустое значение =(
Немогу понять почему ???
#
Re: Фильтрация по 2 дополнительным свойствам
Нашел на форуме что такая проблема не только у меня была!!! http://www.hostcms.ru/forums/22/907/
но последнее сообщение было опубликовано очень давно!!!
Может появились уже какие то другие решения данной проблемы ??
Модератор
#
Re: Фильтрация по 2 дополнительным свойствам
Вопрос передан программистам, мы постараемся как можно скорее подготовить ответ.
Модератор
#
Re: Фильтрация по 2 дополнительным свойствам
Попробуйте использовать следующий код фильтра

if (isset($_GET['type']))
{
   $element['type'] = 1;
   
   if (!isset($_GET['q']))
   {
      $element['prefix'] = ' and ';
   }
   else
   {
      $element['prefix'] = ' ( ';
   }
   
   $element['property_id'] = to_int($_GET['type']);
   $element['if'] = '=';
   $element['value'] = '1';
   $element['sufix']='';
   $property['select'][] = $element;   
}

if (isset($_GET['q']))
{      
   $element['type'] = 1;
   
   $element['property_id'] = 21;
   $element['if'] = '=';
   $element['value'] = to_int($_GET['q']);
   $element['sufix']='';
   $property['select'][] = $element;
   
   
   if (isset($_GET['type'])
   {
      $element['prefix'] = ' or ';
      
      $having_count = ' HAVING COUNT (information_propertys_items_table.information_propertys_items_id) = 2';
      $element['sufix']=') GROUP BY information_items_table.information_items_id ' . $having_count;

   }
   else
   {
      $element['prefix'] = ' and ';
      
      $element['sufix']= '';
   }

   $property['select'][] = $element;

}

#
Re: Фильтрация по 2 дополнительным свойствам
Да я именно щас так и сделал.... Так было написанно в том посте на который я ссылался !!!
Просто я думал прошло довольно много времени и появились другие варианты решения !!!
Авторизация