我正在尝试保留用户选择的答案,并在表单提交后显示它并且某处出现错误。这样表单并不繁琐,用户在提交表单后不必继续将相同的值插入表单中。
我已成功完成此操作,以获取不是从数据库值动态生成的选项:
<option
<?php if($_POST['condition'] == 'acceptable') {
echo 'selected="selected"';
}?> value="acceptable">Acceptable
</option>
工作正常!现在的问题是如何为此表单选项执行此操作?
<option value="select">- Select school -</option>
<?php
$result = mysqli_query($con,"SELECT `name` FROM school");
while($row = mysqli_fetch_array($result)) {
echo '<option value="'.$row['name'].'">'.$row['name'].' School</option>';}?>
</select>
到目前为止,我已经尝试了这个,但我无法让它工作:
$result = mysqli_query($con,"SELECT `name` FROM school");
while($row = mysqli_fetch_array($result)) {
if($_POST['school'] == '$row["name"]') {
$selected = 'selected="selected"';
}
echo '<option $selected value="'.$row['name'].'">'.$row['name'].' School</option>';}
答案 0 :(得分:1)
您不需要在变量中存储“selected”属性,
只是打印它。
将echo
除以2允许您在它们之间插入条件。
另一个注意事项:你是否用'
包裹了变量?你不需要。
echo '<option value="'.$row['name'].'"';
if($_POST['school'] == $row["name"]) {
echo ' selected="selected"';
echo '>'.$row['name'].' School</option>';}?>
答案 1 :(得分:0)
更改。 single
qoutes echo
并未将$selected
解释为变量:
$result = mysqli_query($con,"SELECT `name` FROM school");
while($row = mysqli_fetch_array($result)) {
if($_POST['school'] == '$row["name"]') {
$selected = 'selected="selected"';
}
echo '<option '.$selected.' value="'.$row['name'].'">'.$row['name'].' School</option>';
}