У меня есть таблица базы данных с несколькими текстовыми полями, которые я использую для фильтрации данных, каждое из этих текстовых полей содержит числовые данные, разделенные двоеточием (например, «1: 2: 4: 5: 6: 7: 9»)
id | title | field1 | filed2 | field3 |
1 | Some title1 |1:2:3:4:5:6:7 |1:2:3:6:7 | 1:2:4:5:7:9:10:11 |
2 | Some title2 |1:2:3:4:5:6:7:8:9:10:11 |1:2:3:4:5:6 | 1:2:4:5:7:9:10:11 |
3 | Some title3 |1:2:3:4:5:6:7 |1:2:3:6:9 | 1:2:4:5:7:9:10:11 |
4 | Some title4 |3:4:5:6:7:10:11 |1:2:3:10:11 | 1:2:4:5:7:9:10:11 |
5 | Some title5 |1:2:3:4:5:6:7 |1:2:3:6:7 | 1:2:4:5:7:8:9:11 |
6 | Some title6 |2:3:4:5:6:7:9 |1:2:3:6:7 | 1:2:4:5:7:9 |
используя форму поиска, я использую флажки для каждого параметра для field1, field2 и field3 и использую php foreach для создания LIKE "% parameter
%" для каждого поля
мой SQL-запрос выглядит
SELECT * FROM table WHERE (field1 LIKE '%1%' OR field LIKE '%2%' ) AND (field2 LIKE '%1%' OR field2 LIKE '%2%')
к сожалению, этот запрос не дает мне хорошего результата, так как я получаю обратно строки, которые не соответствуют моей идее:)
например, если значения флажков выбраны пользователем 1,2,3,4,5,6,7
На запрос нужно вернуть только 1, 3 и 5 строку
Есть ли лучшее решение для фильтрации этих результатов
привет
Дополнительная информация:
Позвольте мне объяснить вам немного больше идеи.
Пользователь проверяет чекбоксы с некоторыми значениями (т. Е. 1,3,4,5,6,7). Скрипт должен возвращать только результаты, содержащие эти значения. в field1 то же самое происходит, когда пользователь устанавливает другие флажки, которые управляют field2 и field3, но пока это не важно
Дополнительная информация pt2.
Я постараюсь объяснить вам, чего я хочу достичь
У меня есть форма поиска с флажками и полями ввода радио, каждая группа флажков (значения от 1 до 10) представляют столбцы (field1, field2, field3) в таблице, каждое значение в столбцах field1, например, представляет выбранные флажки (которые являются установить в панели администратора для каждой строки) теперь по умолчанию все флажки установлены, и я получаю все результаты сейчас, когда пользователь снимает флажок с соответствующих флажков, результаты должны быть отфильтрованы со строками в соответствии с фильтром
хороший пример того, чего я пытаюсь достичь, это http://www.hotelscombined.com/City/London.htm
, поэтому, если флажок со значением 2 снят, он не может быть указан в результатах
BR
Сила