【问题标题】:PHP foreach multiple valuesPHP foreach 多个值
【发布时间】:2012-04-05 20:42:05
【问题描述】:

我继承了一个站点,该站点包含一个将值插入 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 知识,但这对我来说有点多:)

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

【问题讨论】:

  • 什么是$value?在&lt;select name="department_&lt;?php echo $value ?&gt;"&gt;你忘记了;

标签: php mysql arrays foreach


【解决方案1】:

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

感谢大家观看,感谢在循环中使用 and(&) 运算符。我没用过,但读起来很有趣,而且我至少学到了一些东西:)

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-07-28
      • 2012-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-05
      • 2012-02-23
      • 1970-01-01
      相关资源
      最近更新 更多