使用数据库值自动填充表单中的选择值

时间:2018-01-25 10:38:41

标签: php forms

在我的表单上,我授予用户修改其详细信息的权限,我使用应用程序ID从db获取详细信息并在其表单输入中显示其value属性,因此用户可以查看和修改他的详细信息,如果他愿意,但是我们如何在从数据库中提取的选择字段中设置值。

这里假设变量是从db。{/ p>获取的$country

$country = 'India';

选择字段是

<select name="usercountry" id="usercountry">
  <option value="England">England</option>
  <option value="South Africa">South Africa</option>
  <option value="USA">USA</option>
  <option value="India">India</option>
</select>

我希望此选择框自动设置为$country值。

3 个答案:

答案 0 :(得分:4)

您可以使用Ternary Operator

执行此操作
 <option <?php echo ($country == 'India')?'selected="selected"':'' ?>>

在@Scriptman评论和建议后,我想让它更干净

<option <?php echo ($country == 'India')?'selected':'' ?>>

答案 1 :(得分:3)

您应该检查$ country变量的值为选项值。

<select name="usercountry" id="usercountry">
 <option value="England" <?php if($country == 'England'){ echo "selected";}?>>England</option>
 <option value="South Africa" <?php if($country == 'South Africa'){ echo "selected";}?>>South Africa</option>
 <option value="USA" <?php if($country == 'USA'){ echo "selected";}?>>USA</option>
 <option value="India" <?php if($country == 'India'){ echo "selected";}?>>India</option>
</select>

答案 2 :(得分:1)

此示例适用于1到n个国家/地区

$userCountry = 'India';

//you get it from DB or wherever
$countries = ['India','USA'];

<select name="usercountry" id="usercountry">
  <?php
        foreach($countries as $country){

         echo '<option value="'.$country.'" '.($userCountry == $country ? 'selected' : '').'>'.$country.'</option>';

        }
 ?>
</select>