首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据存储的MySQL值选择选择选项

根据存储的MySQL值选择选择选项
EN

Stack Overflow用户
提问于 2012-08-27 03:28:11
回答 3查看 1.8K关注 0票数 0

我有一个用户配置文件的编辑页面。一个选项是'Country‘,其中包含php文件中列出的所有国家(国家不是从数据库中加载的)。在用户编辑配置文件页面上,我希望能够从列表中选择当前存储的选项值。

我可以这样做:

代码语言:javascript
复制
<option value="Afghanistan" <?php if ($results['country'] == 'Afghanistan') echo 'selected';?> >Afghanistan</option>
<option value="Albania" <?php if ($results['country'] == 'Albania') echo 'selected';?> >Albania</option>
<option value="Algeria" <?php if ($results['country'] == 'Algeria') echo 'selected';?> >Algeria</option>
<option value="American Samoa" <?php if ($results['country'] == 'American Samoa') echo 'selected';?> >American Samoa</option>
 // The rest of the countries here :(..

有没有一种更好的(更干净的)方法来做到这一点,而不是把所有的国家都放入数据库?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-27 03:31:24

有,使用foreach循环迭代$countries数组,并生成选项,匹配国家/地区值以查找选定的。

示例:

代码语言:javascript
复制
$countries = array("Afghanistan", "Albania", "Algeria", "American Samoa");

foreach ($countries as $country) {
    echo "<option value='$country'";
    if ($country == $results["country"]) {
        echo " selected";
    }
    echo ">$country</option>\n";
}

输出(用于$results["country"] = "Albania"):

代码语言:javascript
复制
<option value='Afghanistan'>Afghanistan</option>
<option value='Albania' selected>Albania</option>
<option value='Algeria'>Algeria</option>
<option value='American Samoa'>American Samoa</option>
票数 2
EN

Stack Overflow用户

发布于 2012-08-27 03:33:30

如果我没弄错你想要什么,我建议使用foreach循环:

代码语言:javascript
复制
$countries = array(
    "Afghanistan",
    "Albania",
    "Algeria",
    "American Samoa"
    // ...
);

foreach($countries as $country) {
    echo '<option value="'.$country.'"';
    if($country == $results['country']) {
        echo ' selected="selected"';
    }
    echo '>'.$country.'</option>';
}
票数 2
EN

Stack Overflow用户

发布于 2012-08-27 04:27:12

除了其他答案之外,如果您不能将国家/地区存储在数据库中,则可以考虑将它们存储在文本文件中。读入它们并迭代它们。这将使添加新国家/地区变得更容易,而无需更改代码。这只是个想法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12133207

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档