2014-01-20 4 views
0

У меня есть элемент управления, который будет загружаться рядом с каждым пользователем, и значение по умолчанию, на котором пол, на котором находится пользователь, на основе результата из базы данных 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> 

Спасибо.

+0

а как насчет вашей метки