У меня есть большая таблица, которая выглядит так, как показано ниже, и мне нужно найти / сопоставить 6 различных значений, которые я ввожу в форму, но выполнить поиск по всем полям и ограничить запрос до 6 элементов.
Это моя таблица (id и все элементы * имеют тип INT (2)):
[lists]
id
item1
item2
item3
item4
item5
item6
item7
item8
item9
item10
item11
item12
item13
item14
item15
item16
item17
item18
item19
item20
Это мой код до сих пор:
$numbers = array(32, 48, 58, 21, 1, 19);
$list = implode(',', $numbers);
$sql = 'SELECT * FROM lists WHERE item1 IN(' . $list . ') OR item2 IN(' . $list . ') OR item3 IN(' . $list . ') OR item4 IN(' . $list . ') OR item5 IN(' . $list . ') OR item6 IN(' . $list . ') OR item7 IN(' . $list . ') OR item8 IN(' . $list . ') OR item9 IN(' . $list . ') OR item10 IN(' . $list . ') OR item11 IN(' . $list . ') OR item12 IN(' . $list . ') OR item13 IN(' . $list . ') OR item14 IN(' . $list . ') OR item15 IN(' . $list . ') OR item16 IN(' . $list . ') OR item17 IN(' . $list . ') OR item18 IN(' . $list . ') OR item19 IN(' . $list . ') OR item20 IN(' . $list . ')';
Я знаю, что это плохая идея IN/OR
состояние, но это то, что я получил до сих пор.
Пожалуйста, помогите мне!
Задача ещё не решена.
Других решений пока нет …