2017-05-08 53 views
0

我是PHP初學者。在編輯部分,我定義了一個Do-While循環來從數據庫中獲取信息。但是,當用戶從下拉列表中選擇並提交 時,所選項目消失,並且在下拉菜單中出現第一個選項。如何在提交後檢索並回顯選定的項目。如何在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> 
+0

試着擺脫javascript。這聽起來像客戶端在渲染後改變它。 –

+1

***請[停止使用'mysql_ *'功能](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。*** [這些擴展名](http://php.net/manual/en/migration70.removed-exts-sapis.php)已在PHP 7中刪除。瞭解[prepared](http://en.wikipedia.org/wiki/Prepared_statement )[PDO]聲明(http://php.net/manual/en/pdo.prepared-statements.php)和[MySQLi](http://php.net/manual/en/mysqli.quickstart.prepared- statement.php),並考慮使用PDO,[這真的很簡單](http://jayblanchard.net/demystifying_php_pdo.html)。 –

回答

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> 
+0

謝謝你的回答。我試過你的代碼。不幸的是,在提交不是用戶選擇的選項後,會顯示下拉菜單中的最後一項。 :( – Peter

+0

啊 - 傻我忘了測試,看看循環中的當前ID是否等於張貼! – RamRaider

+0

再次感謝您的時間,但你認爲有辦法解決這個問題? – Peter

相關問題