这是PHP中编辑页面的一部分 这里我显示的是用户已选择的国家/地区,此代码正常运行。 在这种情况下,只有3个国家。 如果我有很多国家,那么我必须对每个国家进行验证,否则代码行将会增加。 有没有其他选择来实现这个目标?
Select Country:
<select name="country">
<?php if($country == "india") { ?>
<option value="">-Select Country-</option>
<option value="india" selected>india</option>
<option value="us">us</option>
<option value="uk">uk</option>
<?php } else if($country == "us"){ ?>
<option value="">-Select Country-</option>
<option value="india">india</option>
<option value="us" selected>us</option>
<option value="uk">uk</option>
<?php } else{ ?>
<option value="">-Select Country-</option>
<option value="india">india</option>
<option value="us">us</option>
<option value="uk" selected>uk</option>
<?php } ?>
</select>
答案 0 :(得分:2)
将国家/地区加载到数组
$countries = array("india", "us", "uk");
然后,
<select name="country">
<?php
foreach($countries as $c)
{
echo "<option ";
if ($c == $country) echo "selected";
echo ">$c</option>";
}
?>
</select>
答案 1 :(得分:0)
这是您的更新县页面,然后在
下面执行首先从数据库中获取所选国家/地区
$row['country']='india';
您的国家/地区数组
$countryArray = array ('india','us','uk');
然后在下面
<select name="country">
<option value="">-Select Country-</option>
<?php foreach( $countryArray as $country) { ?>
<option value="india" <?php if($row['country']===$country ) { ?> selected ="selected" <? } ?><?php echo $country?></option>
<?php } ?>
</select>
答案 2 :(得分:0)
<?php
$selected = "india";
$countries = Array(
["india"] => "India",
["us"] => "United States",
["uk"] => "United Kindom",
);
foreach( $countries as $id => $country ){
echo '<option value="'.$id.'"', $selected == $id ? ' selected' : '' ,'>' . $country . '</option>';
}
?>
对不起,我有一段时间没用PHP编写代码,但我相信这是正确的。