Я пытаюсь создать функцию, которая будет отфильтровывать продукты на основе ценовых диапазонов.Как фильтровать по диапазонам цен в PHP/MySQL?
Пользователь может выбрать дополнительные диапазоны цен сразу (с помощью флажков). Флажки выглядят следующим образом:
<label>0-500 <input type="checkbox" name="price[]" value="1"/></label>
<label>500-1000 <input type="checkbox" name="price[]" value="2"/></label>
<label>1000-2000 <input type="checkbox" name="price[]" value="3"/></label>
Когда пользователь отправляет форму фильтра с 2-мя флажки проверили, он посылает мне массив, который выглядит как этот [0 => "2", 1 => "3"]
.
Тогда я буду фильтровать продукты через SQL-запрос (SELECT * FROM ... WHERE price > 500 AND price < 2000
// очень упрощенный).
Дело в том, что я не знаю как правильно получить эти ценовые диапазоны от массива, который не включает его конкретно.
Я был бы очень признателен за вашу помощь. Спасибо заранее!
Может быть, это действительно проблема плохого дизайна пользовательского интерфейса. Возможно, было бы лучше, если бы пользователь мог просто выбрать max и мин? – Strawberry
Я думал об этом. Но я видел несколько сайтов, использующих такую фильтрацию, и предпочитаю этот способ. –
ОК. Как эти сайты делают это? Я должен сказать, что, как пользователь, мне кажется странным, что я могу выбрать 0-9 и 20-29, но не 10-19!?!?!? – Strawberry