2012-03-21 164 views
2

私は、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、英国、...)のリストが表示されます。ユーザーは言語と部門の組み合わせを選択することができ、これがデータベースに格納されます。 ($ _SESSIONの使用による)。 ように:

 langauge |checkbox |dropdown list 

今、私はこれに追加され、第3列をしたいと思います。ユーザーは言語を選択することができます(チェックボックスをオンにします)。そして部門を選択し、ジョブ番号を入力します。

langauge |checkbox |dropdown list |entry field 

同様 はしかし、何も私は

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

後に置くブロックが取り出されない、と私はセッション値でこれを格納することはできません。

foreachループに複数の値を保持させることはできますか?したがって、言語をチェックすると、セッションに2つの値が格納され、DBに挿入されます。もしそうなら、これを取得するために何を追加する必要がありますか?

私はいくつかのPHPの知識を持っているが、これは:)私のため

種類のよろしくビットくらいです、そしてあなたがより多くの情報が必要な場合、私に知らせて、私はすべての必要な情報を提供します。

+0

'$ value'とは何ですか? '