我继承了一个包含表单的站点,用于将值插入到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知识,但这对我来说有点多了:)
亲切的问候,如果您需要更多信息,请告诉我,我将提供所有必要的信息。
答案 0 :(得分:0)
是的,您可以在PHP foreach循环中使用和(&amp;)运算符。
答案 1 :(得分:0)
与此同时,我设法通过创建第二个数组来解决问题,该数组由输入字段和语言组成,并将它们插入到SESSION中以插入数据库。
感谢大家一看,以及在循环中使用和(&amp;)运算符。我没有用它,但这是一个有趣的阅读,我至少学到了一些东西:)