如何在选择选项中放置值

时间:2012-05-17 13:48:31

标签: php html

我在我的页面或下拉列表中选择了选项,我的问题是如何设置值 在我的选择选项中,此值来自数据库,

这是我的代码。

  <select name="status" value="<?php echo $status; ?>" >

    <option value=""></option>
    <option value="public">public</option>
    <option value="private">private</option>
  </select>

在我的html标签上

   if(isset($_GET['status']))
    {
         $status = $_GET['status'];
     $sstatus="select .......";


   foreach($db->query($sstatus) as $rows)
    {
      $status= $rows['status'];
      ......
              ......
              ......
         }
   }

我尝试修改我的代码,它似乎有效但我的问题是它有2个相同 下拉列表中的值。

   <select name="status" >

    <option selected="selected"><?php echo $status; ?></option>
    <option value="public">public</option>
    <option value="private">private</option>
  </select>

它会在我的下拉列表中显示,我的问题是这是正确的方法 显示来自数据库的值。

公众
公众 私人

2 个答案:

答案 0 :(得分:1)

<select name="status" >
    <option value=""></option>
    <option value="public"<?php if (isset($status) && $status === 'public') echo 'selected'; ?>>public</option>
    <option value="private"<?php if (isset($status) && $status === 'private') echo 'selected'; ?>>private</option>
 </select>

答案 1 :(得分:1)

<?php $options = array('', 'public', 'private') ?>

<select name="status">
<?php foreach ($options as $option): ?>
   <option value="<?php echo $option ?>" <?php echo isset($status) && $status == $option ? 'selected="selected"' : '' ?>><?php echo $option ?></option>
<?php endforeach ?>

</select>