我找不到问题。你能帮我变量$rows['book_id']
出了什么问题吗。它没有任何回声。我有没有做一些$_SESSION
变量,或者我该怎么做。我试图找到一个解决方案,但没有成功。
<?php
$query=$conn->query("SELECT DISTINCT book_name, writer, book_id, countpc FROM `book` b
JOIN `read` r
ON (b.book_id = r.book)
JOIN count_public_comment p ON
(p.book=r.book)
WHERE(b.book_id>'95')") or die ($conn->error);
echo "<table id='table1'
<br>
<tr>
<th>Bookname</th>
<th>Writer</th>
<th>Count of comments</th>
</tr>";
while($row = mysqli_fetch_array($query)){
echo "<form action=test2.php method=post>";
echo "<tr>";
echo "<td>" . $row['book_name'] . "</td>";
echo "<td>" . $row['writer'] . "</td>";
echo "<td>" . $row['countpc'] . "</td>";
echo "<td>" . "<input type=hidden name=hidden value=" . $rows['book_id'] . "> </td>";
echo "<td>" . "<input type=submit name=comment value=comments" . " </td>";
echo "</tr>";
echo "</form>";
}
if(isset($_POST['comment'])){
$sql=$conn->query("SELECT public_comment, stars FROM `read` WHERE `read`.book = '{$rows['book_id']}'" ) or die ($conn->error);
}
echo "<table id='table1'>
<br>
<tr>
<th>Public_comments</th>
<th>stars</th>
</tr>";
while($row=mysqli_fetch_array($sql)){
echo "<tr>";
echo "<td>" . $row['public_comment'] . "</td>";
echo "<td>" . $row['stars'] . "</td>";
echo "</tr>";
}
echo "</table>";
?>
这是没有回声的线吗?
echo "<td>" . "<input type=hidden name=hidden value=" . $rows['book_id'] . "> </td>";
如果是这样的话,这应该工作
echo "<td>" . "<input type=hidden name=hidden value='"" . $rows['book_id'] . "'"> </td>";
如果您谈论的是这一部分
if(isset($_POST['comment'])){
$sql=$conn->query("SELECT public_comment, stars FROM `read` WHERE `read`.book = '{$rows['book_id']}'" ) or die ($conn->error);
}
那么问题是$rows['book_id']
不存在。它应该是$row['book_id']
。您还需要将与注释相关的所有内容移动到while
循环中,因为它们依赖于book_id
。像这样:
while($row = mysqli_fetch_array($query)){
echo "<form action=test2.php method=post>";
echo "<tr>";
echo "<td>" . $row['book_name'] . "</td>";
echo "<td>" . $row['writer'] . "</td>";
echo "<td>" . $row['countpc'] . "</td>";
echo "<td>" . "<input type=hidden name=hidden value=" . $row['book_id'] . "> </td>";
echo "<td>" . "<input type=submit name=comment value=comments" . " </td>";
echo "</tr>";
echo "</form>";
if(isset($_POST['comment'])){
$sql=$conn->query("SELECT public_comment, stars FROM `read` WHERE `read`.book = {$row['book_id']}" ) or die ($conn->error);
}
echo "<table id='table1'>
<br>
<tr>
<th>Public_comments</th>
<th>stars</th>
</tr>";
while($row=mysqli_fetch_array($sql)){
echo "<tr>";
echo "<td>" . $row['public_comment'] . "</td>";
echo "<td>" . $row['stars'] . "</td>";
echo "</tr>";
}
echo "</table>";
}