我在使用我的php表单时遇到问题,我从数据库中查询信息现在工作正常我只想在用户单击“提交”时返回表单重新加载时所选的值。我一直想让它彻夜不眠。
更清楚的例子。
---选择---
--- Apple ---
---香蕉---
如果他们在页面重新加载时选择了banana并点击了sumbit,那么已经选择了字段banana。这里的代码如下。经过45分钟的战斗“解析错误:语法错误,意外”。我准备把头发拉出来,所以我希望你们能伸出援手。
echo '<option value="'. $row['free'] .'" "'. $free==$row['free'] ? .'" selected=':'>$"'.$row['free'].'"</option>';
由于
答案 0 :(得分:1)
echo '<option value="'. $row['free'] .'" "'. $free==$row['free'] ? /*.*/ '" selected=':'>$"'.$row['free'].'"</option>';
只是评论出来,所以你可以看到它。
答案 1 :(得分:1)
我们假设您在表单中有一个select元素
<form action="" method="post">
<select name ="fruits">
<option value="apple">Apple</option>
<option value="banana">Banana</option>
<option value="orange">Oranges</option>
<option value="mango">Mangoes</option>
</select>
<input type="submit" name="submit"/>
</form>
如果我理解你是正确的,你想在用户点击提交按钮时将所选值显示给用户,将其置于php代码的顶部。
<?php
//This will check if form is submitted then fetch the value from select element else assign null
$value = isset($_POST['submit']) ? $_POST['fruits'] : NULL;
?>
并将所有<option>
更改为
<option value="apple" <?php echo ($value == 'apple') ? 'selected' : ''; ?>>Apple</option>
<option value="banana" <?php echo ($value == 'banana') ? 'selected' : ''; ?>>Banana</option>
<option value="orange" <?php echo ($value == 'orange') ? 'selected' : ''; ?>>Oranges</option>
<option value="mango" <?php echo ($value == 'mango') ? 'selected' : ''; ?>>Mangoes</option>
答案 2 :(得分:0)
echo '<option value="' . $row['free'] . '"' . ($free == $row['free'] ? ' selected="selected"' : '') . '>' . $row['free'] . '</option>';
这应该有效:)
答案 3 :(得分:0)
我建议你简化你的sintax并使其首先可读。
$selected = '';
if($free==$row['free']){ $selected=' selected'; }
echo "<option value='{$row['free']}'{$selected}>{$row['free']}</option>";
答案 4 :(得分:0)
不确定该字符串是如何陷入如此混乱的......如果您在呈现HTML时退出PHP模式,则更清楚(在我的选择中)...如下所示:
?>
<option value="<?php echo $row['free']; ?>" <?php if($free == $row['free']) echo 'selected="selected"'; ?>><?php echo $row['free']; ?></option>
<?php