2014-10-15 3 views
0

HI Я работаю над проектом php mysql и нуждаюсь в некоторой помощи.Запрос поиска, содержащий переменную

В одном из моих полей я использую флажок, чтобы ввести значение. Возможные варианты: 9001 14001 и 18001.

Если я укажу 14001 и 18001, результат, который будет сохранен, - 14001,18001.

Когда я настроил поиск, мне пришлось установить равные if для каждой возможной комбинации. .. не слишком плохо в этом случае, как только 7.

Бит, что бы я использовал в sql-запросе, если бы я хотел сказать, содержит ли (поле)?

+1

Можете ли вы показать схему таблиц и примеры данных. Похоже, что у вас может быть плохой дизайн схемы, если вы сохраняете значения в строках, разделенных запятыми. –

ответ

0

Следующий запрос даст вам все строки, где поле содержит 14001.

SELECT * FROM table WHERE field LIKE '%14001%'

Но вы можете захотеть пересмотреть способ хранения ваших данных, чтобы сделать это быстрее. Один из способов сделать это красиво описано здесь: http://www.phpknowhow.com/mysql/many-to-many-relationships/

+0

Это соответствует '14001,18001', технически он соответствует критериям ops 'contains', но не является эксклюзивным – andrew

Смежные вопросы