我的标题可能含糊不清,所以我要解释一下。
我的数据库中有一个表“books”。我需要使用php检索表格,然后选择书籍并对书籍发表评论。
我找到了检索部分,显示了一张包含所有书籍的表格。
我很难选择书籍部分。
以下是我需要做的事情:
我只需要帮助从表格中选择书籍。怎么做?
答案 0 :(得分:1)
让我假设你在表格书中有这些行 book_id(PI),姓名作者
<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和名称或三者都转到this链接
如果您想根据特定条件选择图书,例如让我们说作者= 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 ['']来获取用户输入。 那么你可以使一个表格使用一个隐藏的值与该书的值= id 做一个评论框 使用提交按钮。 然后在另一个表'评论'中你可以有两行comment_id(PI)book_id和评论
然后使用插入查询
$stmt=mysqli_prepare("insert into comments (book_id,comment) values (?,?)");
if($stmt) {
$stmt->bind_param('is',$book_id,$comment);
$stmt->execute();
}
始终记得使用$ stmt-&gt; close()和$ stmt-&gt; free()。如何做到这一点将由php.net回答