【问题标题】:I want to sort my products list in a descending order我想按降序对我的产品列表进行排序
【发布时间】:2018-05-21 18:41:24
【问题描述】:

我想按降序对我的产品页面进行排序,即我希望在您打开产品页面时首先显示最近添加的产品。当我尝试对产品页面进行分页时,它工作正常,但问题是旧产品首先显示。

这是我的部分代码

 $per_page = 15;
 if(isset($_GET["page"]) && is_numeric($_GET['page'])){
  $page = $_GET["page"]; 
  }else{
    $page = 1;
    }
  $start_from = ($page-1) * $per_page;

  $query = "SELECT * FROM products LIMIT $start_from, $per_page DESC ";
  $post = $db->select($query);
    if($post){
        while($result = $post->fetch_assoc()){

当我在查询末尾添加 DESC 时,它会显示一条错误消息:“您的 SQL 语法有错误;请查看与您的 MySQL 服务器版本相对应的手册,以获取正确的语法,以便在行的 'DESC' 附近使用130" 但是当我删除它时它工作正常,但它没有按降序排序。旧产品先出现,而不是放在页面末尾。

【问题讨论】:

  • 正确的语法是"SELECT * FROM products ORDER BY column DESC LIMIT $start_from, $per_page"
  • 您需要使用 ORDER BY 字段 DESC。
  • 该字段表示什么?它仍然会在“订单子句”30 中创建错误未知列“字段”
  • 您有自动增量列吗?还是日期列?那是领域。
  • 字段表示产品表中的自动增量列或插入日期列。

标签: php mysql sorting pagination


【解决方案1】:

您想要查询的语法是

"SELECT * FROM products ORDER BY fieldtoorderby DESC LIMIT $start_from, $per_page"

【讨论】:

  • 什么 ORDER BY FieldToOrderBy DESC 表示它仍然会产生错误您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 130 行的“ORDER BY FieldToOrderBy DESC”附近使用正确的语法
  • 谢谢你们,它现在正在工作。我喜欢这个在线论坛,它总是有帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-06
  • 2016-10-18
  • 1970-01-01
  • 2023-03-21
相关资源
最近更新 更多