如何在do-while循环中回显所选项?

时间:2017-05-08 21:10:52

标签: php mysql forms select

我是PHP的初学者。在编辑部分,我已经定义了一个Do-While循环来从数据库中获取信息。但是当用户从下拉列表中选择并提交时 所选项目消失,下拉列表中显示第一个选项。如何在提交后检索和回显所选项目。

<?php
  $cat_sql= "SELECT * FROM cars";
        $cat_sql_query=mysql_query($cat_sql);
        $cat_sql_row=mysql_fetch_assoc($cat_sql_query);
?>

<form action="MSPEditstock.php" method="POST">
<span style="font-size: 18px; margin:10px;">Please Choose your car from the dropdown:</span>
  <select id="sortmethod" name="editstock" >
  <?php do{?>
  <option value="<?php echo $cat_sql_row['id']; ?>"  > <?php echo $cat_sql_row['Brand'].$cat_sql_row['Model'];?> </option>
  <?php ; }while($cat_sql_row=mysql_fetch_assoc($cat_sql_query))?>
 </select>
 <input type="submit" value="Start Editting" class="fvisual">
</form>

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望在重新加载页面后,在提交要在下拉菜单中选择的表单之前,用户选择的值是什么?希望以下内容能够说明如何实现这一目标。

<?php
    $cat_sql= "SELECT * FROM cars";
        $cat_sql_query=mysql_query( $cat_sql );
        $cat_sql_row=mysql_fetch_assoc( $cat_sql_query );

    $editstock=!empty( $_POST['editstock'] ) ? $_POST['editstock'] : false;
?>

<form action="MSPEditstock.php" method="POST">
    <span style="font-size: 18px; margin:10px;">Please Choose your car from the dropdown:</span>
    <select id="sortmethod" name="editstock" >
        <?php

        while( $cat_sql_row=mysql_fetch_assoc( $cat_sql_query ) ){

            $id=$cat_sql_row['id'];
            $brand=$cat_sql_row['Brand'];
            $model=$cat_sql_row['Model'];
            $selected=$editstock && $editstock==$id ? ' selected ' : '';

            echo "<option value='{$id}'{$selected}>{$brand}{$model}";
        }

        ?>
    </select>
    <input type="submit" value="Start Editting" class="fvisual">
</form>