PHP和HTML表单选择列表
我有一个编辑记录页面正在工作,但我有一个小问题,即显示为选择下拉列表的字段引用数据库中的关联值列表 我在数据库中有一些带有下拉列表的字段,但用户可以输入一个不在值列表中的值,这是正常行为。然而,我有一个在网上显示这个问题。以下是其中一个字段的代码:PHP和HTML表单选择列表,php,html,forms,Php,Html,Forms,我有一个编辑记录页面正在工作,但我有一个小问题,即显示为选择下拉列表的字段引用数据库中的关联值列表 我在数据库中有一些带有下拉列表的字段,但用户可以输入一个不在值列表中的值,这是正常行为。然而,我有一个在网上显示这个问题。以下是其中一个字段的代码: <select name="category"> <?php foreach($categories as $category) { $selected = ""; if( $category == $record-
<select name="category">
<?php
foreach($categories as $category) {
$selected = "";
if( $category == $record->getField('category') ){
$selected = " selected";
}
$category = htmlspecialchars($category);
?>
<option value="<?php echo $category; ?>"<?php echo $selected; ?>><?php echo $category; ?></option>
<?php
}
?>
</select>
“字段”是什么意思?您是指$record->getField('category')
?如果希望将该值包括在选择列表中,即使它不是$category
数组中的条目,请执行以下操作:
<select name="category">
<?php
$output = "";
$selected = false;
foreach ($categories as $category) {
$output .= "<option value=\"$category\"";
if ($category == $record->getField('category')) {
$selected = true;
$output .= " selected";
}
$output += ">$category</option>";
}
if (!$selected) {
$chosen = $record->getField("category");
$output = "<option value=\"$chosen\" selected>$chosen</option>" . $output;
}
echo $output;
?>
</select>
感谢您的回复-是,$record->getField('category')变量中的值可能/可能不存在于$categories数组中。我尝试了你的代码,没有错误,但我只得到了以下输出:0你能看到PHP代码中的语法错误或我可能遗漏的其他内容吗?我想知道这里使用“+=”运算符是否正确?是的,你是对的,它应该是=
。将它与Javascript混合在一起,抱歉。