PHP预测了多个值

时间:2012-03-21 10:32:33

标签: php mysql arrays foreach

我继承了一个包含表单的站点,用于将值插入到Mysql数据库中。它工作正常,但我被要求添加一个字段,似乎无法解决它。

这是代码:

<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知识,但这对我来说有点多了:)

亲切的问候,如果您需要更多信息,请告诉我,我将提供所有必要的信息。

2 个答案:

答案 0 :(得分:0)

是的,您可以在PHP foreach循环中使用和(&amp;)运算符。

答案 1 :(得分:0)

与此同时,我设法通过创建第二个数组来解决问题,该数组由输入字段和语言组成,并将它们插入到SESSION中以插入数据库。

感谢大家一看,以及在循环中使用和(&amp;)运算符。我没有用它,但这是一个有趣的阅读,我至少学到了一些东西:)