PHP下拉选择

时间:2011-10-17 15:46:13

标签: php

我的下拉列表中有项目列表。现在我希望根据数据库值选择项目。假设我有近300个城市的城市名单。在我的唱片中,我的城市价值是新泽西。现在,在编辑表单时,300个选项无法使用每个选项。喜欢

<option value="A" <? if ($a="A") echo "selected"; ?> >A</option>
<option value="B" <? if ($a="B") echo "selected"; ?> >B</option>
<option value="C" <? if ($a="C") echo "selected"; ?> >C</option>
<option value="D" <? if ($a="D") echo "selected"; ?> >D</option>
<option value="E" <? if ($a="E") echo "selected"; ?> >E</option>
<option value="F" <? if ($a="F") echo "selected"; ?> >F</option>
<option value="G" <? if ($a="G") echo "selected"; ?> >G</option>
<option value="H" <? if ($a="H") echo "selected"; ?> >H</option>

没有任何方法可以最小化300条记录。我不能为此写短代码吗?

**注意我的选项值不存储在数组中。**

3 个答案:

答案 0 :(得分:5)

假设您的值存储在名为$options的数组中,您可以编写如下内容:

foreach($options as $option)
{
  echo "<option value=\"$option\"";
  if($option == $a)
  {
    echo ' selected="selected"';
  }
  echo ">$option</option>";
}

答案 1 :(得分:0)

您应该使用loops作为输出

喜欢

$result = mysql_query('select id, city from cities');
while($row = mysql_fetch_assoc($result)) {
    echo '<option value=' . $row['id'] . (($row['city'] == 'new jersey') ? 'selected' : '') . " >" . $row['city'] . '</option>';
}

答案 2 :(得分:0)

在php中尝试range函数:

<?php foreach (range('A', 'Z') as $letter){?>
   <option value="<?php echo $letter?>" <? if ($a==$letter) echo "selected='selected'"; ?> ><?php echo $letter?></option>
<?php }?>

相应地更改范围。您也可以将此函数与整数一起使用。