发布列

时间:2019-03-01 12:28:50

标签: 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 = "";

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>&nbsp;<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!";
}

    ?>

1 个答案:

答案 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中的串联运算符。

希望这会有所帮助。