PHP/MySQL 使用带有 LIMIT 的 ORDER BY

标签 php mysql pagination

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

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,这让我很困惑。 :/

最佳答案

尝试如下查询

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

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

关于PHP/MySQL 使用带有 LIMIT 的 ORDER BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14707275/

相关文章:

php - Laravel:对 View 的查询进行分页 MySQL 错误 1140 Mixing of GROUP columns

javascript - Wordpress 自定义查询分页和 Ajax

php - 表的奇数行和偶数行

php - 以编程方式创建子域

javascript - 按国家名称排序

php - 如何在字符串中的特殊字符之前和之后使用附加字符来扩展字符串

php - 我正在尝试从数据库中调用一组结果,但无法正常工作

mysql - 请求日期时间元素时出现 NoMethodError

android - 在 NestedScrollView 中使用分页的 RecyclerView

php - 为什么使用dom而不是regex来解析网页?