gpt4 book ai didi

php - 使用 PHP 和 MySQL 在选择选项上打印所选属性

转载 作者:行者123 更新时间:2023-11-29 05:12:48 25 4
gpt4 key购买 nike

我正在从我的数据库中打印一个选择列表。

这是我的部分代码:

<form action="" method="post">
<div class="form-item">
<select name="specialties">
<?php
$query = "SELECT * FROM specialties";
$result = mysqli_query($connection, $query);

echo '<option value="All">' . $filterTitle . '</option>';
while($row = mysqli_fetch_assoc($result)) {
$id = $row['id'];
$title = $row['title_'. $lang];

if($_POST['specialties'] == $id) {
$selected = 'selected';
}

echo '<option value="' . $id . ' "' . $selected . '>' . $title . '</option>';
}
?>
</select>
</div>

<div class="form-item">
<input class="form-submit" type="submit" name="submit" value="<?php echo $filterSubmit; ?>">
</div>
</form>

在这个表单中,当我选择一些选项时,它会过滤内容。这工作正常,我不需要发布那部分代码。

首先,当我从选择列表中选择一些选项并提交后,它会过滤内容,但选择选项显示全部值,而不是所选选项。之后我尝试使用上面的代码,现在当我提交表单时,选择值显示最后一个选项并且所有选项都具有 selected 属性。

我如何更改该逻辑,所以当我选择第二个选项时,提交表单后,selected 属性将仅出现在第二个选项上,因此文本将是第二个选项?

结论:谢谢你们的回答。你们都是对的。我给你们所有人 +1,我选择了 Hassaan 的答案,因为它解释得很好。

最佳答案

当前您正在检查/比较值并生成变量。您需要使用 else 条件,因为您必须更改/重置生成变量的值。请参见下面的示例。

if($_POST['specialties'] == $id) {
$selected = 'selected';
}
else
$selected = '';

关于php - 使用 PHP 和 MySQL 在选择选项上打印所选属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37113846/

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