我正在创建一个社交网络,用户可以上传帖子。当他们上传帖子时,他们会转到他们的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";
}
表格结构:
答案 0 :(得分:0)
在SELECT语句中,您可以使用 ORDER BY 与 DESC 来显示最新的第一个:
$sql = "SELECT * FROM posts WHERE username = '" . $username. "' ORDER BY post_id DESC";
这应显示来自用户的所有帖子,其用户名= $ username,按其最新帖子的顺序显示(因为我们按照post_id按降序排序)。