Та бросьте...кто среться... ;) помогаем же разобраться....
Попробую еще раз.
Изначально его условие (которое с нулями) не выполнялось т.к. значения проверялись при помощи empty а т.к. для empty 0 пустое значение, то запрос с BETWEEN не добавлялся.... с пятёркой же все работало...значит дело только к нулях
если быть на 100% уверенным, что оба значение передаются гетом? то конечно можно не пользоваться isset ом ... это так... для подстраховки. ну тогда достаточно просто int и в запрос.
как он вам даст true , в случае , если гетом не передается на пример start_cost ???
ему нужно вытащить в диапазоне - значит нужны старт и енд значения, их наличие мы проверяем иссетом - так?
значит isset - нужен, чтобы не вываливалась ошибка при отсутствии значений....
если заданы оба значения int переводит их из строки в цифру и подставляем...что не так?
в каком месте стремится к 0? ;)
$start_cost = (int)$_GET["start_cost"];
$end_cost = (int)$_GET["end_cost"];
if (!empty($start_cost) OR !empty($end_cost))
{
$query_cost = " AND cost BETWEEN $start_cost AND $end_cost";
}
при нулевых значениях выполняться не будет...поэтому и нет сортировки
if (isset($_GET['start_cost']) && isset($_GET['end_cost']))
$start_cost = (int)$_GET['start_cost'];
$end_cost = (int)$_GET['end_cost'];
при нулевых значениях выполняться должно
...и не нужно ничего городить
ЗЫ
для empty() ноль пустое значение
http://php.net/manual/ru/function.empty.php
Что в теме я не заметил?
разве
$start_cost = (int)$_GET['start_cost'] ?: 0;
и
это не одно и то же?
Да ладно Вам, за ТС можно порадоваться.... наконец-то домой нормальный интернет провели.
ТС, что там у вас? 2 мегабита от Ростелеком? ;)
Конечно регистрируйте! Обязательно укажите свой адрес - Россия, Крым , получите скидку 🤪
Навеяло...
С незапамятных времён, ученые умы били голову над главной проблемой человечества, а именно - "Почему разные люди, в одной и той же ситуации ведут себя по разному"???
Сколько спорных теорий на этот счет высказывалось, но ни одна не смогла объяснить этот феномен.
И вот теперь, со всей ответственностью, мы можем заявить, что МЫ нашли ответ на самую древнюю загадку человечества!
Мы провели 100500 тыс. исследований и опытов. Потратили кучу времени и средств, но все же пришли к одному, единственно правильному ответу:
Разные люди, в одной и той же ситуации ведут себя по разному - потому, что они разные! ☝
Не стоит благодарностей - мы делимся со всеми этой информацией безвозмездно. ;)
http://itldc.com/vds/ - советую, цены вкусные.