对于学校作业,我需要创建一个博客系统。我几乎可以正常工作了,但是有一个问题,我的PHP仅发送一列而不是全部。
<body>
<?php
require_once("nbbc/nbbc.php");
$bbcode = new BBCode;
$sql = "SELECT * FROM post ORDER BY date DESC";
$res = mysqli_query($db, $sql) or die(mysqli_error($db));
$posts = "";
if(mysqli_num_rows($res) > 0) {
while($row = mysqli_fetch_assoc($res)) {
$id = $row['id'];
$title = $row['title'];
$content = $row['content'];
$date = $row['date'];
$admin = "<div><a href='del_post.php?pid=$id'>Delete</a> <a href='edit_post.php?pid=$id'>Edit</a></div>";
$output = $bbcode->Parse($content);
$posts = "<div><h2><a href='view_post.php?pid=$id'>$title</a></h2><h3>$date</h3><p>$output</p>$admin</div>";
}
echo $posts;
} else {
echo "Er zijn geen berichten te bekijken vandaag!";
}
?>
答案 0 :(得分:1)
首先,这是学校的工作,祝你好运。
回到您的问题。
您已在循环之前初始化$posts
。
您应该在每次迭代中将循环的输出追加到$posts
。
您不是在循环中串联输出。
因此,每次运行循环时,$posts
的值都会更新为最新的值。
因此,只有最后一次迭代的值才会显示为最新的值。
因此,要添加串联,请将以下行修改为:
$posts .= "<div><h2><a href='view_post.php?pid=$id'>$title</a></h2><h3>$date</h3><p>$output</p>$admin</div>";
请注意.
之前的额外=
,即PHP中的串联运算符。
希望这会有所帮助。