У меня есть элемент управления, который будет загружаться рядом с каждым пользователем, и значение по умолчанию, на котором пол, на котором находится пользователь, на основе результата из базы данных MySQL. Любой, кто редактирует список, может изменить тот пол, на котором находится пользователь, и отправить изменение, чтобы нажать на базу данных. Однако, когда я получаю значение $ _POST ['selFloor'], оно всегда зависит от выбранного по умолчанию значения. Независимо от того, изменяет ли пользователь это или нет.
<?php
$floors = array('1st'=>"First",
'2nd'=>"Second",
'3rd'=>"Third",
'4th'=>"Fourth",
'5th'=>"Fifth",
'6th Control'=>"Sixth");
$query = "SELECT * FROM employees ORDER BY name asc";
$result = $db->query($query);
$i = 0;
while ($row = $result->fetch_array())
{
$i++;
echo '<select name="field['.$i.'][floor]"';
foreach($floors as $key=>$val) {
echo ($key == $row['floor']) ? "<option selected=\"selected\" value=\"$key\">$val</option>":"<option value=\"$key\">$val</option>";
}
echo '</select>';
} ?>
Образец выбранного элемента управления. Если $ row ['floor'] возвращает ['1st'], он сделает эту опцию выбранным значением, но после того, как пользователь изменит ее на «2nd» и отправит кий, $ _POST увидит только значение выбора для того, какой вариант имеет выбранный аргумент.
foreach ($_REQUEST as $key => $val) {
if (is_array($val)) {
foreach($val as $subkey => $sub) {
echo $sub['floor'] // Outputs first option that got selected set
}
}
}
HTML Выход Выбрать:
<select name="field[1][floor]">
<option value="1st">First</option>
<option value="2nd">Second</option>
<option selected="selected" value="3rd">Third</option>
<option value="4th">Fourth</option>
<option value="5th">Fifth</option>
<option value="6th">Sixth</option>
</select>
Спасибо.
а как насчет вашей метки
Если каждый пользователь 'select' называется' selFloor', это будет вашей проблемой. –
Что такое $ row ['floor']? – user4035