Как поставить значение по-умолчанию в where?
Всем привет.
Сделал форму для фильтрации ресурсов через GET-параметры:
И выдает вот такой sql-запрос:
Соответственно это сопровождается ошибкой sql внизу лога из-за пустого значения.
Догадываюсь, что надо в сниппете добавить условие при пустом параметре и под это сформировать другой запрос в where. Но я не могу понять как?
Подскажите, пожалуйста.
Сделал форму для фильтрации ресурсов через GET-параметры:
[[!pdoResources:default=`Извините, к сожалению,ничего не найдено.`?
&parents=`4`
&depth=`0`
&useWebLink=`1`
&includeContent=`1`
&processTVs=`1`
&includeTVs=`gorod,cena,tip`
&tpl=`adv-list`
&where=`["TVcena.value >= [[!get_filter? &key1=`cena_min`]] AND TVcena.value <= [[!get_filter? &key1=`cena_max`]] AND TVtip.value LIKE '[[!get_filter? &key1=`tip`]]' AND TVgorod.value LIKE '[[!get_filter? &key1=`gorod`]]'"]`
&showLog = `1`
]]
Всё работает. Но проблема в том, что при открытии страницы где должен быть вывод ресурсов по-умолчанию в параметрах GET пока пусто, и сниппет [[!get_filter]] передает сразу же пустой параметр.И выдает вот такой sql-запрос:
0.0003209: Added where condition: 0=TVcena.value >= AND TVcena.value <= AND TVtip.value LIKE '' AND TVgorod.value LIKE '', modResource.parent:IN(4), modResource.published=1, modResource.deleted=0
То есть после, например, TVcena.value >= должно стоять число, а там изначально пусто.Соответственно это сопровождается ошибкой sql внизу лога из-за пустого значения.
Догадываюсь, что надо в сниппете добавить условие при пустом параметре и под это сформировать другой запрос в where. Но я не могу понять как?
Подскажите, пожалуйста.
Комментарии: 1
Что-то типа:
if (empty($key1) {
return 'То что должен выводить сниппет если входное значение пусто';
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.