テーブル book book_id(PI), name author にこれらの行があると仮定しましょう
<form method="post" action="something.php">
<select name="book">
<?php
$stmt = $mysqli->prepare("SELECT id,name,author FROM books");
if($stmt) {
$stmt->execute();
$result = $stmt->get_result();
while ($myrow = $result->fetch_assoc()) {
echo '<option value='.$myrow['book_id'].'>'.$name.' '.$author.'</option>';
}
//instead of $result you can also do
if($stmt) {
$stmt->execute();
$stmt->bind_result($id,$name,$author):
while ($stmt->fetch()) {
echo '<option...
}
?>
IDと名前の両方、または3つすべてが必要な場合は、このリンク
にアクセスしてください
特定の基準で本を選択したい場合、たとえば、author=enid とします。
次に、クエリを次のように変更します。
$stmt = $mysqli->prepare("SELECT id,name,author FROM books WHERE author=?");
if($stmt) {
$stmt->bind_param("s",$input_name);
$stmt->execute();
.....
次に、something.php で $_POST[''] を使用してユーザー入力を取得します。次に、フォームで隠し値を value= 本の id で使用するようにし、コメント ボックスで送信ボタンを使用するようにします。次に、別のテーブル 'comments' に、comment_id(PI) book_id と comment の 2 つの行を含めることができます。
次に、挿入クエリを使用します
$stmt=mysqli_prepare("insert into comments (book_id,comment) values (?,?)");
if($stmt) {
$stmt->bind_param('is',$book_id,$comment);
$stmt->execute();
}
常に $stmt->close() と $stmt->free() を使用することを忘れないでください。それを行う方法はphp.netによって回答されます