私はブログとして使用されるシンプルなCRUDアプリケーションを作成しています。編集ページでは、各投稿のブログタイトルを含むドロップダウンメニューが必要です。オプション/ブログの投稿が選択されたら、「タイトル」と「メッセージ」の各フィールドを入力して編集し、データベースに保存することができます。PHP/MySQLのドロップダウンメニュー付きの事前入力フォーム?
ブログの投稿のタイトルを取得することができましたが、「タイトル」と「メッセージ」の各フィールドに値を設定して、そのオプションが選択されたときに編集できるようにしています。
私のデータベースには4つの行があります。行[0]はタイトル、行[1]はメッセージ、行[2]はタイムスタンプ、行[3]はIDです。
ありがとうございます。それは有り難いです。
<form action="edit.php" id="myform" method="post" autocomplete=off>
<input type="hidden" name="action" value="show">
<p><label>Entry:</label><select name="blog">
<?php
$result = mysqli_query($con, "SELECT * FROM blog");
while ($row = mysqli_fetch_array($result)) {
$chosen = $row['bid'];
}
if (isset($_GET['blog'])) {
$id = $_GET['blog'];
$result = mysqli_query($con, "SELECT * FROM blog WHERE bid='$id'");
$row = mysqli_fetch_array($result);
}
$result = mysqli_query($con, "SELECT * FROM blog");
while ($row = mysqli_fetch_array($result)) {
$id = $row['bid'];
$title = $row['title'];
$selected = '';
if ($id == $chosen) {
$selected = "selected='selected'";
}
echo "<option value='$id' $selected>$title</option>\n";
}
?>
</select></p>
<p><label>Title:</label> <input type="text" id="newtitle" name="newtitle" value="<?php echo $row[0]; ?>"></p>
<p><label>Message:</label> <input type="text" id="newmessage" name="newmessage" value="<?php echo $row[1]; ?>"></p>
<p><input type="hidden" name="id" value="<?php echo $row[3]; ?>"></p>
<br><p><input type="submit" name="submit" value="Submit"></p>
</form>
は、なぜあなたはループwhile' '二回blog'クエリから' SELECT *を実行し、別の2に結果をループしていますか?また、 'while'ループの外側で' $ row'変数を参照しているのはなぜですか? – Cully