从最新的顺序显示用户帖子

时间:2018-04-04 17:33:38

标签: php mysql mysqli phpmyadmin

我正在创建一个社交网络,用户可以上传帖子。当他们上传帖子时,他们会转到他们的home.php页面查看。一切都很好但我的问题是,最旧的帖子首先显示,而较新的帖子显示在底部。如何修复它以便首先显示较新的帖子而不是较旧的帖子?

home.php:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

include("connect.php");
include("auth_login.php");

$username = isset($_SESSION['username']) ? $_SESSION['username'] : '';
$username = trim(isset($_GET['username']) ? $_GET['username'] : $username);

//Write the query
$sql = "SELECT * FROM posts WHERE username = '" . $username. "' ";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
    echo "<p>".$row['body']. "</p>";
}
}
else {
echo "No posts";
}

表格结构:

enter image description here

1 个答案:

答案 0 :(得分:0)

在SELECT语句中,您可以使用 ORDER BY DESC 来显示最新的第一个:

$sql = "SELECT * FROM posts WHERE username = '" . $username. "' ORDER BY post_id DESC";

这应显示来自用户的所有帖子,其用户名= $ username,按其最新帖子的顺序显示(因为我们按照post_id按降序排序)。