gpt4 book ai didi

PHP 从数据库填充下拉菜单值

转载 作者:行者123 更新时间:2023-11-30 23:01:58 24 4
gpt4 key购买 nike

我是一个初学者,试图从数据库中输出下拉菜单的值。我已经自动从数据库生成值,但我遇到的问题是我想要显示被选择的值。理想情况下,我正在尝试更新一个主题,我希望数据显示在可以更新每个项目的 HTML 页面中。我需要的是能够选择正在选择的主题的“位置”。

这是我的代码:

<p>Position: 
<select name="position">
<?php
$sel_subject = get_all_subjects();
$subject_count = mysql_num_rows($sel_subject);
//$subject_count+1 because we are adding a subject
for($count=1; $count <= $subject_count+1; $count++) {
echo "<option value=\"{$count}\"";
if($sel_subject['position'] == $count) {
echo " selected='selected'";
}
echo ">{$count}</option>";
}
?>
</select>

最佳答案

您似乎依赖于 $count 是一些保持静态的内部 ID;鉴于它只是一个单调递增的整数,这似乎是一个冒险的提议。但是,如果您对此感到满意,您需要做的就是将最后一个 echo 语句中的值更改为主题名称而不是 $count。相反,我会鼓励您使用对数据库有意义的东西——例如,有些人创建一个名为 subject_id 的 auto_increment 字段并关闭它;其他人喜欢使用UUID

我通常还建议使用 foreach 循环而不是 for 循环,因为它往往会简化代码(您不必担心维护计数器或创建栅栏发布错误等)。这是一个简短的示例 - 我在猜测您可以使用的实际数据是什么,希望您可以将其推断为您实际拥有的数据。

<p>Position: 
<select name="position">
<?php
$sel_subject = get_all_subjects();
foreach($sel_subject as $subject_num => $subject) {
echo '<option value="', $subject_num, '"';
if ($subject['selected']) {
echo 'selected="selected"';
}
echo '>', $subject['subject_name'], '</option>';
}

关于PHP 从数据库填充下拉菜单值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23593695/

24 4 0