У меня есть HTML-форма, где есть два поля ввода
скажем, Каста (варианты SC, ST и OBC) и Направление (варианты: север, юг, восток и запад). Пользователи будут выбирать опции, используя флажок.
<input name="ct" type="checkbox" value="SC">SC
<input name="ct" type="checkbox" value="ST">ST
<input name="ct" type="checkbox" value="OBC">OBC
<input name="dr" type="checkbox" value="N">North
<input name="dr" type="checkbox" value="S">south
<input name="dr" type="checkbox" value="E">East
<input name="dr" type="checkbox" value="W">West
У меня также есть база данных (имя: ЛЮДИ) с именем столбца Каста, Направление и т. Д.
Теперь я хочу запустить SQL-запрос на основе выбора пользователя. Например
mysql_query("select * from PEOPLE where Caste='option/options selected by user' and Direction= 'option/options selected by user' ")
Если пользователь выберет один вариант из каждого поля, это не проблема для меня,
mysql_query("select * from PEOPLE where Caste='$_POST[ct]' and Direction= '$_POST[dr]' ")
но если они используют несколько вариантов, то как мне поступить.
Дать name
приписать флажки, как это
<input type="checkbox" name="caste[]" value="SC" />
<input type="checkbox" name="caste[]" value="ST" />
<input type="checkbox" name="caste[]" value="OBC" />
На вашей стороне PHP вы можете использовать функцию Implode для формирования caste
в строку, как показано ниже (учитывая, что вы делаете POST)
$caste_id = implode(",",$_POST["caste"]);
Где вы читаете из базы данных, вы можете преобразовать значение из базы данных в массив, как это
$caste_array = explode(",",$row->caste_id);
надеюсь, это поможет
Вы можете использовать ГДЕ В
$caste_string = implode('","', $_GET['ct']);
$caste_string = '"'.$caste.'"';
$dir_string = implode('","', $_GET['dr']);
$dir_string = '"'.$caste.'"';mysql_query("select * from PEOPLE WHERE Caste IN ($caste_string) AND Direction IN ($dir_string)")