@qu1kgg

Как сделать выборку с js массива в mysql, с помощью php?

Добрый день, делаю фильтр товаров, подскажите, как сделать выборку в базе, где столбец param имеет данные такого типа ["значение1"," значение2","значение3"]?
пример импута:
<li class="" style="width: 85%;"><input  name="param[]" type="checkbox" value="значение2" style="display:none" >значение2</li>
<li class="" style="width: 85%;"><input  name="param[]" type="checkbox" value="значение3" style="display:none" >значение3</li>
  • Вопрос задан
  • 122 просмотра
Пригласить эксперта
Ответы на вопрос 3
FanatPHP
@FanatPHP
Чебуратор тега РНР
Столбец param не должен иметь данные "такого типа".
Надо переделывать этот ужас, чтобы столбец param стал таблицей param
Ответ написан
Kulaxyz
@Kulaxyz
Могу лучше
1)https://dev.mysql.com/doc/refman/8.0/en/json.html#...
2)Не совсем корректное альтернативное решение - это формировать строку исходя из данных формы и делать несколько условий. Например, вам нужно применить только первый фильтр, а по двум другим вывести всё:
SELECT * FROM table WHERE param='[1,1,1]' OR param='[1,2,2]' OR param='[1,1,2]'

И тд.
Разумеется, не вручную всё писать, а как-то циклом генерируя запрос
Ответ написан
Комментировать
mrhard
@mrhard
web разработчик
Если HTML в одной строке
SELECT * FROM `table` WHERE `field_html` LIKE '%value="значение1"%' AND  `field_html` LIKE '%value="значение2"%' AND  `field_html` LIKE '%value="значение3"%'

Если HTML в разных строках
SELECT * FROM `table` WHERE `field_html` LIKE '%value="значение1"%' OR  `field_html` LIKE '%value="значение2"%' OR  `field_html` LIKE '%value="значение3"%'
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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