选择记录的右侧行


Select the right row of record

我找不到问题。你能帮我变量$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>";
}