PHP mySQL 按日期排序帖子

标签 php mysql

我正在尝试创建一个网站,任何人都可以在其中发布任何内容而无需创建帐户,只要它只是文本。我的问题是因为每次我启动网站并发布一些东西。它被发送到底部,最旧的帖子在顶部,新帖子被发送到顶部。我想在顶部看到新帖子。这是我第一次使用 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/

相关文章:

mysql - 查找唯一的列对

php - 未找到类 'JFactory'

php - 从数据库中获取多个级别的子项?

javascript - 网页不显示发布的数据

javascript - onClick 事件不起作用 - JS

mysql - 保存站点范围的设置

mysql - 插入时间戳而不使用准备好的语句

php - Symfony2,doctrine自定义DQL函数

java - DataNucleus getObjectById 为外键对象返回 null

php - 如何将 mysql 数组传递给 jquery php