PHP下拉验证

时间:2011-04-04 06:23:11

标签: php html

这是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>

3 个答案:

答案 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编写代码,但我相信这是正确的。