php - 如何简化我的国家选择菜单 PHP/mysql

标签 php mysql selector simplify

我有一个显示国家/地区的选择菜单。它查看数据库并根据数据库中的值判断显示已选择的选项。有没有比以下更简单的方法:

if ($country == 'AG') {echo '<option value="AG" selected="selected">Antigua</option>';} 
else {echo '<option value="AG">Antigua</option>';};

if ($country == 'AR') {echo '<option value="AR" selected="selected">Argentina</option>';} 
else {echo '<option value="AR">Argentina</option>';};

if ($country == 'AM') {echo '<option value="AM" selected="selected">Armenia</option>';} 
else {echo '<option value="AM">Armenia</option>';};

if ($country == 'AW') {echo '<option value="AW" selected="selected">Aruba</option>';} 
else {echo '<option value="AW">Aruba</option>';};

if ($country == 'AU') {echo '<option value="AU" selected="selected">Australia</option>';} 
else {echo '<option value="AU">Australia</option >';};

if ($country == 'AT') {echo '<option value="AT" selected="selected">Austria</option>';} 
else {echo '<option value="AT">Austria</option>';};

if ($country == 'AZ') {echo '<option value="AZ" selected="selected">Azerbaijan</option>';} 
else {echo '<option value="AZ">Azerbaijan</option>';};

if ($country == 'BS') {echo '<option value="BS" selected="selected">Bahamas</option>';} 
else {echo '<option value="BS">Bahamas</option>';};

if ($country == 'BH') {echo '<option value="BH" selected="selected">Bahrain</option>';} 
else {echo '<option value="BH">Bahrain</option>';};

有很多国家,这样做会很疯狂,不是吗????

最佳答案

只要您有很多代码,但实际上做的是相同的,这就是使用循环或函数而不是重写数千行代码的标志。

正如 Michael B. 所注意到的,最简单的方法是使用一个数组和一个简单的循环来显示此列表并将正确的元素标记为选中。

$countries = array(
     'us' => 'United States of America',
     'de' => 'Germany',
     'pl' => 'Poland',
     'fr' => 'France',
     ...
);

foreach ($countires as $code => $name) {
    echo '<option value="' . $code . '" ' . ($country == $code ? 'selected="selected"' : null) . '>' . $name . '</option>';
}

关于php - 如何简化我的国家选择菜单 PHP/mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3005398/

相关文章:

javascript - 在 PHP 中从 JSON 填充选择列表

javascript - 用javascript替换所有选定的元素

PHP 扩展不会在 Apache 启动时加载

php - 对外部 HTTPS 网页进行 POST 后如何获取数据?

MySql 存储日期,例如 YYYY/MM/DD

mysql - 由 : java. sql.SQLException 引起:字段 'customerNumber' 没有默认值 - hibernate 和 jpa

php - 在mysql中获取COUNT时循环

属性上的 jQuery 通配符选择器

Android GridView 不完美,如何去除右边多余的空白

javascript - jQuery 中的三元运算符未按预期工作