所以我的博客文章在他们自己的“博客文章”div 中得到了回应。
然后我在下面有另一个包含帖子评论的 div。
我有一个名为“帖子”的表格,其中包含与帖子有关的所有内容。然后我有另一个称为...“评论”,其中包含信息。
我希望这个工作的方式是“评论”中有一个名为 updatepostid 的字段。这包含与之关联的博文的 id。
当呼应它们时,问题就来了。我可以让评论与类似的东西相呼应:
$query = 'SELECT * FROM comments';
但只要我这样做,例如
$query = 'SELECT * FROM comments WHERE updatepostid = "'.$postID.'"';
什么都没有显示。我相信这是因为博文和评论不在同一个回声中。
不过,我不确定如何让它们进入相同的 echo 语句。
所以,这就是它目前的样子:
<?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 查询,但仍然无法理解它。
将其纳入一个回声语句有什么帮助吗?