从数据库中分配选定的选项值

时间:2012-10-09 11:52:01

标签: php html database codeigniter drop-down-menu

我有一个表单,其中包含从数据库生成的国家/地区下拉列表。值存储在数据库中。有一个选项可供用户查看或更新插入的值。要更新所有表单值,请从数据库中获取。我需要的是,当加载表单以更新国家/地区的选定选项时,下拉列表必须是存储在数据库中的。 例如:如果从以下下拉选项中选择并插入到数据库中。

 Dropdown: |option1|<selected>
           |option2|
           |option3|

在更新期间它应该是这样的

 Dropdown: |option1|
           |option2|<selected>
           |option3|

这是我试过的代码。

      $selected = $list["country_country_name"];

     <tr><td>Country</td><td><select onchange="getCountry(this.value);" name="country" id="country" ><?php  foreach( $query as $qry ) { 
     print '<option value="'.$qry["country_country_name"].'"'; 
     if( $qry["country_country_name"] == $selected ) print'selected'; 
     print '>'.$qry["country_country_name"].'</option>'."\n";} ?>
     </select></td></tr>

3 个答案:

答案 0 :(得分:1)

<select id="list" name="list">
    <option value=""> Please Select </option>
    <?
        $list = array('1',
                        '2',
                        '3',
                        '4',
                        '5',
                        '6');

        while ($L = array_shift($list)) {
            ?>
                <option value="<?=$L?>" <? if($selected == $L){ echo 'selected="selected"'; }?> > 
                    <?= $L ?> 
                </option> 
            <?
         }
    ?>
</select>

您可以通过以下方式简单地获取所选选项:

$("#list").val();

请试试。

答案 1 :(得分:0)

$ selected = $ list [“country_country_name”];

 <tr><td>Country</td>
 <td>
 <select onchange="getCountry(this.value);" name="country" id="country" >
 <?php  foreach( $query as $qry ) { 
    $sel = '';
   if( $qry["country_country_name"] == $selected ) 
    $sel = 'selected="selected"';           

    echo '<option value="'.$qry["country_country_name"].'" '.$sel.'>'.$qry["country_country_name"].'</option>'."\n";
    } ?>
    </select>
    <?php echo form_error('country'); ?>
    </td>
 </tr>

答案 2 :(得分:0)

当选项标签的value属性包含与选项文本相同的值时,则不需要value属性-请忽略它。

下面显示了一个内联条件语句。

<tr>
    <td>Country</td>
    <td><select onchange="getCountry(this.value);" name="country" id="country">
        <?php
        foreach ($query as $row) { 
            echo "<option" ,
                ($row["country_country_name"] == $list['country_country_name'] ? ' selected' : '') ,
                "{$row['country_country_name']}</option>\n";
        }
        ?>
    </select></td>
</tr>