2017-05-08 4 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- statements.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

関連する問題