首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用php从DB检索表,然后选择特定项。

使用php从DB检索表,然后选择特定项。
EN

Stack Overflow用户
提问于 2013-05-23 22:22:06
回答 1查看 109关注 0票数 0

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

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

我得到了检索部分,一张桌子上显示了我所有的书。

我被选书的部分困住了。

我需要做的是:

  1. 从DB检索“图书”表
  2. 从那张桌子上选一本书(如下拉列表等)
  3. 按submit键,转到另一页,在那里我可以留下关于那本书的评论。
  4. 注释必须记录在DB中。

我只需要你帮我从桌子上选书。该怎么做呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-24 04:46:00

让我假设在表book_id(PI)中有一个行,名称为author

代码语言:javascript
运行
复制
<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

然后按如下方式修改查询:

代码语言:javascript
运行
复制
$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查询

代码语言:javascript
运行
复制
$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回答。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16724857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档