0

我的 php 表单有问题,我从 db 查询信息现在工作正常,我只希望当用户单击提交以在表单重新加载时返回所选值。我一直试图让这个工作整夜。

例子更清楚。

- - 选择 - -

- - 苹果 - -

- - 香蕉 - -

如果他们选择了香蕉并在页面重新加载时单击了 sumbit 以使字段香蕉已被选中。这里是下面的代码。经过 45 分钟的战斗“解析错误:语法错误,意外'。' 我准备把我的头发拉出来,所以我希望你们能伸出援手。

echo '<option value="'. $row['free'] .'" "'. $free==$row['free'] ? .'" selected=':'>$"'.$row['free'].'"</option>';

谢谢

4

5 回答 5

1
echo '<option value="'. $row['free'] .'" "'. $free==$row['free'] ? /*.*/ '" selected=':'>$"'.$row['free'].'"</option>';

刚刚把它注释掉,所以你可以看到它。

于 2012-05-14T07:12:57.780 回答
1

假设您在表单中有一个选择元素

<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>
于 2012-05-14T07:15:02.110 回答
0
echo '<option value="' . $row['free'] . '"' . ($free == $row['free'] ? ' selected="selected"' : '') . '>' . $row['free'] . '</option>';

那应该工作:)

于 2012-05-14T07:12:07.940 回答
0

我建议您简化您的 sintax 并首先使其可读。

$selected = '';
if($free==$row['free']){ $selected=' selected'; }

echo "<option value='{$row['free']}'{$selected}>{$row['free']}</option>";
于 2012-05-14T07:14:33.110 回答
0

不确定该字符串是如何陷入如此混乱的......如果你在呈现 HTML 时退出 PHP 模式,它会更清晰(在我看来)......如下所示:

?>
<option value="<?php echo $row['free']; ?>" <?php if($free == $row['free']) echo 'selected="selected"'; ?>><?php echo $row['free']; ?></option>
<?php
于 2012-05-14T07:18:21.823 回答