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