【发布时间】: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?在<select name="department_<?php echo $value ?>">你忘记了;。