Сложный запрос к БД

Раздел форума: 

Добрый день подскажите как реализовать - в модуль передаются куча данных, и в зависимости от них выполняется вот такой код:

 

$query = db_select('add_web','n'); 

$query->fields('n', array('w_id'));

 

if($_GET['field_w_cena1_value_min'])

$query->condition('n.w_cena1', $_GET['field_w_cena1_value_min'], '>=');

 

--------  и так далее ---------

вот вопрос как в $query-> запилить сравнение по двум полям? Вообще допустим при наличие определенной переменной необходимо сравнить поля одной записи на равенство и не выбирать те записи, у которых значение полей одинаковы

 

Пытался писать что-то вроде  if($_GET['nolast']) $query->condition('n.w_et1', 'n.w_et2', '!='); но увы не работает (((

 

Подскажите пожалуйста как выполнить. Необходимо именно таким способом ((( 

-------------------------------------

В конце естественно:

$ids = $query->execute()->fetchCol();

 

 

Добавить комментарий

Войти, используя Loginza Google Account Yandex Mail.ru Vkontakte Facebook

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.
Прикрепить
Максимальный размер файла: 128 МБ.
Разрешённые типы файлов: txt doc docx rar zip xls xlsx pdf odf odt jpg jpeg gif png psd rtf.

Во-первых используйте функцию

Во-первых используйте функцию check_plain() для того чтобы обрабатывать переменные $_GET, во-вторых подставляйте условия в запрос как заполнители:

http://drupalbook.ru/drupal/rabota-s-bd-v-drupal-7-urok-12-usloviya-zaprosov-where-having

 

Если вы реализуете поиск, то возможно лучше будет его делать через Facet API.

http://drupal.org/project/facetapi