gpt4 book ai didi

php - 如何从数据库中预选当前选中的下拉菜单项?

转载 作者:行者123 更新时间:2023-11-29 07:13:21 24 4
gpt4 key购买 nike

我自己尝试过,但无法正常工作。基本上我正在制作一个编辑页面,可以在其中编辑以前提交的帖子。在这个新页面上,表单预先填充了以前提交的数据。之前选择的其中一件事是下拉列表中的类别。我正在尝试让之前选择的类别显示为此编辑页面下拉列表中的默认选择类别。

            <select name="categories">
<?php

// get the category the post is assigned to
$query = mysql_query("SELECT category FROM posts");
while ($row = mysql_fetch_assoc($query)) {
$chosenCategory = $row['id'];
}

// display a drop down of all categories with the chosen category preselected
$query = mysql_query("SELECT * FROM categories");
while ($row = mysql_fetch_assoc($query)) {
$catId = $row['id'];
$catName = $row['name'];

if ($catId == $chosenCategory) {
$selected = "selected='selected'";
}

echo "<option value='$catId' $selected>$catName</option>\n";
}

?>
</select>

我的代码的问题是它在从指定类别开始的每个选项项上插入 selected='selected'。我需要将其插入到分配的类别选项中。

因此,例如,假设帖子被分配到名为“棒球”的类别,这是当前输出的样子:

<option value='someid'>Camping</option>
<option value='someid'>Grilling</option>
<option value='someid' selected='selected'>Baseball</option>
<option value='someid' selected='selected'>Swimming</option>
<option value='someid' selected='selected'>Extreme Frisbe</option>
<option value='someid' selected='selected'>Watching TV</option>

它应该只是从棒球开始和结束,而不是从那里开始并在最后一个菜单项结束,所以自然是预选的那个。

如何解决这个问题?

最佳答案

你的代码在所有方面都是完全正确的,除了你忘记在每个循环中重置 $selected

$selected = '';
if ($catId == $chosenCategory) {
$selected = "selected='selected'";
}

关于php - 如何从数据库中预选当前选中的下拉菜单项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3125091/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com