Php 张贴专栏
对于学校作业,我需要制作一个博客系统。我几乎让它工作,但有一个问题,我的PHP将只发送一列,而不是全部Php 张贴专栏,php,Php,对于学校作业,我需要制作一个博客系统。我几乎让它工作,但有一个问题,我的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 = "";
<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!";
}
?>
首先,这是学校的作业,祝你好运 回到你的问题上来 在循环之前,您已经初始化了
$posts
在每次迭代中,您都应该将loop的输出附加到$posts
您没有在循环中连接输出
因此,每次循环运行时,$posts
的值都会更新为最新的值
因此,只有最后一次迭代的值才会显示为最新的值
因此,要添加连接,请将以下行修改为:
$posts .= "<div><h2><a href='view_post.php?pid=$id'>$title</a></h2><h3>$date</h3><p>$output</p>$admin</div>";
$posts.=“$date$output$admin”;
请注意=
之前的额外
,这是PHP中的串联运算符
希望它能有所帮助。您在
循环时在之外回显$posts
。将其移动到while
循环中,您可能会得到您想要的结果。您每次都会覆盖$posts
,而不是附加到它。因此,它将只保留最后一个值。