0

我的标题可能模棱两可,所以我要解释一下。

我的数据库中有一张“书”表。我需要使用 php 检索表格,然后选择这本书并评论这本书。

我得到了检索部分,显示了一个包含我所有书籍的表格。

我坚持选择书籍部分。

这是我需要做的:

  1. 从数据库中检索表“书”
  2. 从该表中选择一些书(即下拉列表等)
  3. 按提交并转到另一个页面,我可以在其中对那本书发表评论
  4. 评论必须记录在数据库中

我只需要从桌子上选书的帮助。怎么做?

4

1 回答 1

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 和 name 或者这三个都去这个链接

如果您想根据某些标准选择您的书籍,例如让我们说 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

然后使用插入查询

$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 回答

于 2013-05-24T04:46:00.800 回答