动态选择框显示先前设定的值

时间:2015-05-17 17:05:38

标签: php sql select

我试图在PHP表单中构建动态选择框。我有它正确地工作,因为它确实正确地改变了值,但是,如果已经设置了值,我不能让框显示正确的值。目前,显示的值始终是用于填充选择列表的记录集中的第一个值。

我确定这很简单,但只是寻找一些快速指导。

这里是选择框的代码

<select name="select" id="select" title="<?php echo $row_ships['category']; ?>">
    <?php 
        do { ?>
            <option value="<?php echo $row_categories['key']?>">
                <?php echo $row_categories['title']?>
            </option>
        <?php } 
        while ($row_categories = mysql_fetch_assoc($categories));

        $rows = mysql_num_rows($categories);
        if ($rows > 0) {
            mysql_data_seek($categories, 0);
            $row_categories = mysql_fetch_assoc($categories);
        }
    ?>
</select>

1 个答案:

答案 0 :(得分:0)

如果您尝试在之前提交表单后设置表单字段的选定选项,那么这应指向正确的方向。

<?php
$rowSelected = '';
if ( isset( $_POST['select'] ) && $_POST['select'] == $row_categories['key'] ) {
    $rowSelected = 'selected="selected"'
}
?>
<option value="<?php echo( $row_categories['key'] ); ?>" <?php echo( $rowSelected ); ?>><?php echo $row_categories['title']?></option>

将它放在你的do-while-loop中。

如果您的表单使用GET,则必须将$_POST替换为$_GET