gpt4 book ai didi

PHP设置下拉框的选中值

转载 作者:行者123 更新时间:2023-11-28 04:26:54 29 4
gpt4 key购买 nike

我有一个用 PHP 构建的下拉框。这是代码:

 $region_result = mysql_query("SELECT * FROM region ORDER BY region");    

$dropdown = "<select name='region'>";
while($row = mysql_fetch_assoc($region_result)) {
$rid = $row["id"];
$region = $row["region"];

$dropdown .= "\r\n<option value='{$row['rid']}'>{$region}</option>";
}
$dropdown .= "\r\n</select>";

在处理完上述代码后,我需要设置下拉框的选定值。有什么简单的方法可以做到这一点吗?

有人有什么建议吗?谢谢!

编辑:

谢谢大家的回答。让我解释一下我在做什么。我正在设置一个“编辑用户”页面,您可以在其中按多个条件搜索用户,然后结果以“编辑模式”列出 - 即 - 在文本框和下拉框中。因此您可以编辑和更新用户。对于两个用户字段,我需要在下拉框中列出数据(以确保数据完整性和约束)。因此,我想显示这些下拉框,其中包含您可以更改的所有可能值,但我希望下拉列表的选定值是当前与用户关联的值。

因此,我能够按照 deceze 的建议进行操作 - 在我的 while 循环中,它使用数据库结果设置我的 PHP 值,我插入了一个嵌套的 while 循环,它将构造 $dropdown,并在其中,嵌套的 if 循环。我对所有这些嵌套循环并不着迷。这是该代码段:

 if (@mysql_num_rows($result)) {
while ($r=@mysql_fetch_assoc($result)) {
$fname = $r["fname"];
$lname = $r["lname"];
$region = $r["region"];
$role = $r["role"];
$extension = $r["extension"];
$username = $r["username"];
$building = $r["building"];
$room = $r["room"];?>

<?php
$dropdown = "<select name='region'>";
while($row = mysql_fetch_assoc($region_result)) {
$rid = $row["id"];
$region2 = $row["region"];

if($region == $region2){
$dropdown .= "\r\n<option selected='selected' value='{$row['rid']}'>{$region}</option>";
}else{
$dropdown .= "\r\n<option value='{$row['rid']}'>{$region2}</option>";
}
}
$dropdown .= "\r\n</select>";
?>

但是,我正在考虑将其更改为文本替换(由 soulscratch 和 zombat 建议),因为我认为这会提高性能。

...当不止一个结果集满足搜索条件时,这似乎不起作用(因为第二个和第三个等结果的下拉框是空的)。

大家怎么看?

最佳答案

通过构建字符串的方式,它相当简单 str_replace() ,这很好,因为它省去了需要正则表达式的麻烦:

$dropdown = str_replace("value='".$rid."'","value='".$rid."' selected=\"selected\"",$dropdown);

关于PHP设置下拉框的选中值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1185906/

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