我的标题可能是模棱两可,所以我要解释一下。
我的数据库里有一张桌子“书”。我需要使用php检索表,然后选择书并评论这本书。
我得到了检索部分,一张桌子上显示了我所有的书。
我被选书的部分困住了。
我需要做的是:
我只需要你帮我从桌子上选书。该怎么做呢?
发布于 2013-05-24 04:46:00
让我假设在表book_id(PI)中有一个行,名称为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和name或这三种名称,请转到this链接
如果您想选择关于特定条件的书籍,例如,让我们假设为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,使一个注释框使用提交按钮。然后,在另一个表中,‘注释’u可以有两行comment_id(PI) book_id和注释
然后使用insert查询
$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回答。
https://stackoverflow.com/questions/16724857
复制相似问题