【问题标题】:PHP/MySQL using ORDER BY with a LIMITPHP/MySQL 使用带 LIMIT 的 ORDER BY
【发布时间】:2013-02-05 20:27:03
【问题描述】:

我大致按照这个链接创建了一个分页:

http://www.awcore.com/dev/1/3/Create-Awesome-PHPMYSQL-Pagination_en#toggle

很酷。虽然我的查询有问题。

它可以像这样正常工作:

require 'includes/function.php';

    $page = (int) (!isset($_GET["page"]) ? 1 : $_GET["page"]);
    $limit = 8;
    $startpoint = ($page * $limit) - $limit;

    $statement = "cars WHERE deleted = 'no'";

$query = mysql_query("SELECT * FROM {$statement} LIMIT {$startpoint}, {$limit} ");

while ($row = mysql_fetch_assoc($query)) {

但是,当我尝试向其中添加 ORDER BY 时,如下所示:

需要'includes/function.php';

    $page = (int) (!isset($_GET["page"]) ? 1 : $_GET["page"]);
    $limit = 8;
    $startpoint = ($page * $limit) - $limit;

    $statement = "cars WHERE deleted = 'no'";

$query = mysql_query("SELECT * FROM {$statement} LIMIT {$startpoint}, {$limit} ORDER BY model DESC");

while ($row = mysql_fetch_assoc($query)) {

或者只是像这样更改语句:

$statement = "rcr_cars WHERE deleted = 'no' ORDER BY model DESC";

我收到此错误:

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in filepath/myfile.php on line 79.

第 79 行是这一行:

 while ($row = mysql_fetch_assoc($query)) {

谁能告诉我为什么我没有正确使用 ORDER BY,这让我很困惑。 :/

【问题讨论】:

标签: php mysql pagination


【解决方案1】:

试试下面的查询

$query = mysql_query("SELECT * FROM {$statement} ORDER BY model DESC LIMIT {$startpoint}, {$limit} ");

你出错的地方是 LIMIT 应该在 ORDER BY 之后。 Read more

【讨论】:

    【解决方案2】:

    更改查询:

    $query = mysql_query("SELECT * FROM {$statement} ORDER BY model DESC LIMIT {$startpoint}, {$limit}") ;
    

    【讨论】:

      【解决方案3】:
      $query = mysql_query("SELECT * FROM {$statement} ORDER BY model DESC LIMIT {$startpoint}, {$limit} ");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-01-09
        • 2020-11-19
        • 2017-09-12
        • 1970-01-01
        • 2010-11-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多