我正在尝试创建一个网站,任何人都可以在其中发布任何内容而无需创建帐户,只要它只是文本。我的问题是因为每次我启动网站并发布一些东西。它被发送到底部,最旧的帖子在顶部,新帖子被发送到顶部。我想在顶部看到新帖子。这是我第一次使用 PHP、mySQL 和一般数据库,所以我的代码可能看起来很糟糕。告诉我是否需要更多信息/代码。感谢您的宝贵时间。
<?php
function setPosts($conn){
if(isset($_POST['postSubmit'])){
$pid = $_POST['pid'];
$date = $_POST['date'];
$message = $_POST['message'];
$sql= "INSERT INTO post(pid, date ,message) VALUES ('$pid', '$date', '$message');";
$result = mysqli_query($conn, $sql);
}
}
function getPosts($conn){
$sql = "SELECT * FROM post";
$result = mysqli_query($conn, $sql);
while($row = $result->fetch_assoc()){
echo "<div class='post-box'>";
echo $row['date']."<br>";
echo nl2br($row['message'])."<br><br>";
echo "</div>";
}
}
最佳答案
您需要将 "ORDER BY"
添加到您的 "SELECT"
以对其进行排序。
$sql = "SELECT * FROM post ORDER BY date DESC";
"DESC"
在那里,这样新的帖子就会排在最前面。如果我们希望旧帖子位于顶部,我们将使用 "ASC"
。
关于PHP mySQL 按日期排序帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46741310/