@valah17

Как выбранные чекбоксы внести в выборку из БД?

Как выбранные чекбоксы внести в выборку из БД

<input type="checkbox" name="poisk_year[]" value="2000">
<input type="checkbox" name="poisk_year[]" value="2001">
<input type="checkbox" name="poisk_year[]" value="2002">
<input type="checkbox" name="poisk_year[]" value="2003">
<input type="checkbox" name="poisk_year[]" value="2004">
<input type="checkbox" name="poisk_year[]" value="2004">


В контроллере

$year = $_POST['poisk_year'];

остальные переменные в одном варианте.не понимаю как $year внести в запрос. в таком варианте выдаёт первый выбранный чекбокс.

$poisk = DB::select("select * from users where admin = '{$admin}' && parent_id = '{$parenr_id}' && year = '{$year}'");
  • Вопрос задан
  • 74 просмотра
Решения вопроса 2
https://oracleplsql.ru/in-mysql.html

$years = implode(',', $year);
Ответ написан
Комментировать
1. $_POST['poisk_year'] это массив
2. Вам надо модифицировать условие запроса: либо преобразовать $_POST['poisk_year'] в выражение year IN(...) либо в цепочку AND (year=.. OR year=... OR year=...). Для этого в цикле проходитесь по $_POST['poisk_year'] и формируете условие (ну или делаете как выше написал Павел Андрейченко)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@valah17 Автор вопроса
Всем кто отозвался спасибо.
Эта связка работает: $years = implode(',' , $year); year IN($years);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы