У меня была идея сделать
instring, чтобы определить, является ли значение строки
существует в выбранных значениях фильтра,
но это склонно к частичным совпадениям
(например, автомобиль соответствует Carpet)
Мне кажется, что вы не указали уникальный идентификатор или, возможно, первичный ключ как часть значений в вашем списке. В идеале каждый параметр должен иметь уникальный идентификатор, соответствующий столбцу в таблице, по которой вы ищете. Если бы ваш список был похож на ниже, вы могли бы фильтровать специально для автомобилей, потому что вы получите уникальное значение 3.
<option value="3">Car</option>
<option value="4">Carpret</option>
Затем вы просто создаете предложение where, которое позволит вам найти нужные значения.
Обновлено, чтобы ответить на комментарий.
Как бы я сделал связанное соединение
учитывая, что пользователь может выбрать
и произвольное количество вариантов из
список? ВЫБРАТЬ * ИЗ ТАБЛИЦЫ
ПРИСОЕДИНЯЙТЕСЬ к tblOptions ON tblTable.FK =?
Проблема в том, что мне нужно присоединиться к
несколько значений.
Я ответил на аналогичный вопрос здесь .
Одним из методов будет создание временной таблицы и добавление каждого выбранного параметра в виде строки во временную таблицу. Тогда вы просто присоединитесь к вашей временной таблице.
Если вы хотите просто создать свой sql динамически, вы можете сделать что-то вроде этого.
SELECT * FROM tblTable WHERE option IN (selected_option_1, selected_option_2, selected_option_n)