按最新到最旧的PHP对数据进行排序

时间:2016-03-27 00:32:16

标签: php mysql sql database web

我将数据存储在数据库中,并且我在网页上显示数据,此时它是从最旧到最新订购​​的,但我希望首先显示最新版本,我试过了一些事情,比如添加我在另一个堆栈溢出问题上找到的代码;

$files[$mod_time] = $basedir.'/'.$filename;

尝试像这样做一个mysql查询;

$query = mysql_query("SELECT * FROM users LIMIT $start, $per_page ORDER BY ID DESC");

也许我没有把代码放在正确的位置,这是我的代码中提取数据的部分;

if ( $stmt = $mysqli->prepare("SELECT * FROM memo Where uid = ? " ) ) {
    $stmt->bind_param("i", $uid2);
    $stmt -> execute();
    $stmt -> bind_result($id, $note, $uid3);
 }
        $output=array();
        $out_id=array();
        $out_note=array();
        $i=0;
            while ($stmt->fetch()) {
                //$out_id[$i]=$id;
                //echo $out_id[$i] . " / ";
                $out_note[$i]=$note;
               echo $out_note[$i]. " <br>";
               //echo $i. "<br>";
                $i++;    
            }
        $output = array($out_note,$out_id);
        rsort($output);

我是PHP的新手,任何帮助或建议对我都有好处,非常感谢。

这是我的表格的样子;

Heres the table

1 个答案:

答案 0 :(得分:0)

我猜uid是一个AUTO_INCREMENT字段? 如果是这种情况,您只需替换此行:

if ( $stmt = $mysqli->prepare("SELECT * FROM memo Where uid = ? " ) ) {

这一个:

if ( $stmt = $mysqli->prepare("SELECT * FROM memo Where uid = ? ORDER BY uid DESC" ) ) {

当然,最好在表格中包含一个包含备忘录创建日期的列(例如DATETIME created_at)。然后,您应该使用ORDER BY created_at DESC

您应该阅读MySQL中的ORDER BY子句:

http://www.techonthenet.com/mysql/order_by.php