2015-09-24 2 views
0

Пользователей выбирают некоторые параметры с флажками из HTML формы:Mysql запрос на основе неизвестного количества параметров

Примера: они выбирают яйца, морковь и фасоль из 100 возможных ингредиентов.

Эти выбранные параметры хранятся в массиве, таком как $ components ['eggs', 'морковь', 'beans'];

MySQL запрос имеет к результатам имени ввода, где яйцо = 1, морковь = 1, и бобы = 1

$db->query("SELECT name, FROM ingredients WHERE eggs=1, carrots=1, beans=1")->fetchall(); 

Но как, если у меня есть $ ингредиентов имеет другой размер?

Благодарим за помощь.

+0

генерировать строку, где условие через цикл foreach и concat с запросом. – Akshay

+0

Вы не дали нам многого для продолжения. Какова структура вашей базы данных? – Kuya

+0

он просто хочет, где часть запроса, как он спросил ?? зачем вам нужна структура базы данных? @Kuya – Akshay

ответ

4
$where = "WHERE 1 "; 
foreach($ingredients as $key=>$value){ 
    $where.=" AND {$value}=1"; 
} 
+0

О, отлично, спасибо за вашу помощь! – michltm

+0

ohh ... его мое удовольствие ... :) – Akshay

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