所以我的博客帖子在他们自己的'blogpost'div中得到了回应。
然后我在下面有另一个包含帖子评论的div。
我有一个名为'posts'的表格,其中包含与帖子有关的所有内容。然后我又有另一个名为......'comments'的信息。
我想让它工作的方式是在'comments'中有一个名为updatepostid的字段。这包含与之关联的博客帖子的ID。
问题来自于回应它们。我可以通过以下内容得到回应:
$query = 'SELECT * FROM comments';
但是,只要我这样做,例如
$query = 'SELECT * FROM comments WHERE updatepostid = "'.$postID.'"';
没有显示任何内容。我相信这是因为博客帖子和评论不是同一回声。
我不确定如何让他们进入同一个回声陈述。
所以,这就是目前的情况:
<?php
$query = 'SELECT * FROM posts WHERE buildID = '.$_GET['id'].' LIMIT '.$limit.'';
try
{
$stmt = $db->prepare($query);
$stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$rows = $stmt->fetchAll();
foreach($rows as $row):
$postID = $row['postID'];
$text = $row['text'];
$date = $row['date'];
echo basicbbcode ('
<div class="blogtest">
<form action="process/updatepost.php" class="updatepost" method="post">
<input type="button" class='.$editenabled.' value="Edit">
<input type="submit" class="saveupdatebutton" value="Save">
<input type="hidden" class="postid" name="postid" value="'.$postID.'">
<div class="text">
<div class="buildtext">'.$text.'</div>
<div class="editor"><textarea name="ckeditor"id="ckeditor" class="ckeditor">'.$text.'</textarea></div>
</div>
</form>
</div>
')?>
<?php
// Get comments
$query = 'SELECT * FROM comments';
try
{
$stmt = $db->prepare($query);
$stmt->execute();
}
catch(PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$rows = $stmt->fetchAll();
foreach($rows as $row):
$commentID = $row['commentID'];
$usercommentID = $row['userID'];
$comment = $row['comment'];
$updatepostid = $row['updatepostid'];
?>
<div class="commentsbox">
<div id="textcomment"><?php echo "$usercommentID: $comment";?></div>
</div>
<?php endforeach; ?>
<?php endforeach; ?>
以上是可怕的我知道......但它只是为了告诉你我在做什么。
我正在考虑使用INNER JOIN查询,但仍然无法理解它。
有关将其纳入一个echo语句的任何帮助吗?
答案 0 :(得分:0)
当您获取评论时,您将覆盖您的第一个$rows
变量(与帖子查询一起使用)。您需要为这些使用不同的变量名称。为了便于理解,请尝试使用foreach ($postRows as $postRow)
和foreach ($commentRows as $commentRow)