У меня есть следующий HTML:магазин выпадающего выбор как набор элементы массива в конкретные переменные
<form action="" method="get">
<ul>
<li>location
<select name="locationdo">
<option value="tax_cb">Checkbox</option>
<option value="tax_radio">Radio</option>
<option value="tax_dd">Dropdown</option>
</select>
</li>
<li>genre
<select name="genredo">
<option value="tax_cb">Checkbox</option>
<option value="tax_radio">Radio</option>
<option value="tax_dd">Dropdown</option>
</select>
</li>
<li>studio
<select name="studiodo">
<option value="tax_cb">Checkbox</option>
<option value="tax_radio">Radio</option>
<option value="tax_dd">Dropdown</option>
</select>
</li>
</ul>
<p><input type="submit" value="submit" name="submit" /></p>
</form>
То, что я хочу, чтобы элементы массива из $which_tax_array
, хранящихся в отдельных переменных на основе выбора, которые были сделаны. Будем надеяться, что код будет лучше объяснить, что я хочу для того чтобы достигнуть (но это не работает, как я хотел, чтобы это):
if (isset($_GET['submit'])) {
$which_tax_array = array('location', 'genre', 'studio');
$what = array();
foreach ($which_tax_array as $key => $tax_name) {
$what[$tax_name] = $_GET[$tax_name.'do'];
foreach ($what as $tax_term => $display_option) {
if (in_array($what[$tax_name], $what)) {
$checkboxes = ','.$tax_term;
} elseif (in_array($what[$tax_name], $what)) {
$radios .= ','.$tax_term;;
} elseif (in_array($what[$tax_name], $what)) {
$dropdowns .= ','.$tax_term;
}
}
}
}
echo 'cb '.$checkboxes.'<br>';
echo 'radio '.$radios . '<br>';
echo 'dd '.$dropdowns.'<br>';
Вы имеете двойные скобки закрытия в вашем 'еще if' заявления. Во всяком случае, он не работает, как я хочу. Если я просто нажимаю кнопку «Отправить» сразу (когда для каждого раскрывающегося списка установлено значение «tax_cb», я получаю: 'cb, location, genre, studio', который является ПРАВИЛЬНЫМ, но если я делаю разные варианты, это не хорошо. вы меняете второй (жанр) и третий (студийный) варианты на 'tax_radio', в этом случае я получаю« радио, местоположение, жанр, студию », вместо« location », присваивается переменной' $ checkboxes'. что я имею в виду? –
Чтобы попытаться упростить, скажем, я выбираю 'checkbox' для' locationdo', 'radio' для' genredo' и 'dropdown' для' studiodo', тогда я ожидал получить следующее, когда повторяю каждую переменную : 'cb, location'' радио, жанр',' dd, studio' –