PHP表单选择正确填充MySQL值,而不是使用简单的PHP echo
我有一个PHP select,它基于MySQL记录集动态填充,并使用in_数组值来标识和选择在数据库中找到的值,如下所示:PHP表单选择正确填充MySQL值,而不是使用简单的PHP echo,php,mysql,Php,Mysql,我有一个PHP select,它基于MySQL记录集动态填充,并使用in_数组值来标识和选择在数据库中找到的值,如下所示: <select name="StaffSetSelection[]" size="5" multiple="MULTIPLE" id="StaffSetSelection"> <option <?php if ($totalRows_StaffSetID == 0) { echo "selected"; } ?> value="">
<select name="StaffSetSelection[]" size="5" multiple="MULTIPLE" id="StaffSetSelection">
<option <?php if ($totalRows_StaffSetID == 0) { echo "selected"; } ?> value="">Choose a Staff Set</option>
<?php
do {
?>
<option <?php if (in_array($row_StaffSetChoices['EmpNumber'], $StaffSetIDs)) {
echo "selected";
} ?> value="<?php echo $row_StaffSetChoices['EmpNumber'] ?>"><?php echo $row_StaffSetChoices['EmpFirstName'] ?></option><?php
} while ($row_StaffSetChoices = mysql_fetch_assoc($StaffSetChoices));
$rows = mysql_num_rows($StaffSetChoices);
if ($rows > 0) {
mysql_data_seek($StaffSetChoices, 0);
$row_StaffSetChoices = mysql_fetch_assoc($StaffSetChoices);
}
?>
</select>
我不想在表单选项select中显示所选的值,我只想将它们显示为文本
我尝试在一个简单的php回送中再次使用in_数组,但它不显示数据,并且我的apache日志中没有错误
这就是我尝试过的:
<?php if(in_array($row_StaffSetChoices['EmpNumber'], $StaffSetIDs)) echo $row_StaffSetChoices['EmpFirstName']?>
我想你忘了括号, 试着这样做:
<?php
if(in_array($row_StaffSetChoices['EmpNumber'], $StaffSetIDs)) {
echo $row_StaffSetChoices['EmpFirstName'];
}
?>
您的代码毫无意义。“若查询返回非零行,则将fetch倒带到结果集的开头”。对于返回任何行的任何查询来说,这将是一个无限循环……它非常有效,并且在没有事先选择的情况下使用。虽然这不是问题的一部分,但是如果您想要@MarcBfalse,可以将其作为一个因素删除。括号仅适用于多行“内部”代码if(foo)do_something()
完全可以接受<代码>如果(foo)做某事();还有别的事吗但是,code>有时只运行do_某事,每次运行do_某事;在回声之后。