2012-03-21 19 views
2

Я унаследовал сайт, который содержит форму для вставки значений в db Mysql. Он отлично работает, но меня попросили добавить поле и не могут его обработать.PHP foreach несколько значений

Это код:

<table id="target-language"> 
<tr> 
<?php 
$rowCount=-1; 
foreach($languages as $key=>$value){ 
    if(isset($_SESSION['formvalues']['addEntry']['target'])){ 
     if(in_array($value, $_SESSION['formvalues']['addEntry']['target'])) 
      $selected = " checked=\"checked\""; 
     else  
      $selected = ""; 
    } 
    $sqlDepartments = "SELECT depName FROM tbldepartements WHERE langId = '".trim($value)."'"; 
    $departments = mysql_query($sqlDepartments) or die(mysql_error()); 

    if($rowCount == 0){ 
     echo "</tr>\n<tr>"; 
     $rowCount = 0; 
    }else 
     $rowCount++; 
?> 
<td align="right"> 
<?php echo $value; ?><input type="checkbox" name="target[]" value=<?php echo "\"".$value."\"" . $selected; ?> /> 

<select name="department_<?php echo $value ?>"> 
<?php while($department = mysql_fetch_object($departments)): ?> 
<?php 
     $curDepartment = $_SESSION['formvalues']['addEntry']['departments'][$value]; 
      if( $curDepartment == utf8_encode($department->depName)) 
       $optionSelected = ' selected="selected"'; 
      else 
       $optionSelected = ''; 
?>                       
    <option value="<?php echo utf8_encode($department->depName); ?>"<?php echo $optionSelected; ?>><?php echo utf8_encode($department->depName); ?></option> 
<?php endwhile; ?> 
     <option value=""></option> 
</select> 
<?php 
} 
?> 

Это показывает список языков (DE, UK, ...) с флажком, и выпадающее меню с отделами в другой колонке. Пользователи могут выбрать язык и комбинацию отделов, и это будет помещено в базу данных. (с помощью $ _SESSION). как:

 langauge |checkbox |dropdown list 

Теперь я хотел бы третий столбец добавлен к этому. Таким образом, пользователи смогут выбрать язык (установите флажок), а затем выберите отдел и введите номер задания. Как

langauge |checkbox |dropdown list |entry field 

Однако, все, что я поставил после того, как блок

<select name="department_<?php echo $value ?>"> 

не получить взял, и я не могу хранить это в стоимости сеанса.

Возможно ли, чтобы петля foreach удерживала несколько значений? Таким образом, проверка языка приведет к сохранению двух значений в сеансе для вставки в БД? Если да, то что мне нужно добавить, чтобы приобрести это?

У меня есть PHP знания, но это многовато для меня :)

С уважением, и если вам нужно больше информации, дайте мне знать, и я буду поставлять всю необходимую информацию.

+0

что такое '$ value'? в '