При запросе к базе mysql иногда возникает необходимость сравнения со списком:
$query = "SELECT * FROM table WHERE name IN ('book', 'painting, 'drawing')"; $result = mysqli_query($connect,$query); while($r = mysqli_fetch_array($result)){...}
В условии указывается, что необходимо выбрать все элементы таблицы table, в столбце name содержащие значение списка ‘book’, ‘painting, ‘drawing’.
Если у Вас вместо списка имеется массив который может содержать большое кол-во элементов, то запрос mysql можно изменить на следующий:
$query = "SELECT * FROM table WHERE name IN (".implode(',', $arr).")"; $result = mysqli_query($connect,$query); while($r = mysqli_fetch_array($result)){...}
В условии указывается, что необходимо выбрать все элементы таблицы table, в столбце name содержащие значение массива $arr.
В случае если Вам наоборот выбрать все элементы кроме указанных в массиве, то используйте следующий пример:
$query = "SELECT * FROM table WHERE name NOT IN (".implode(',', $arr).")"; $result = mysqli_query($connect,$query); while($r = mysqli_fetch_array($result)){...}
В условии указывается, что необходимо выбрать все элементы таблицы table в столбце name, кроме элементов указанных в массиве $arr.
implode — Объединяет элементы массива в строку