3

このリンクを大まかにたどって、ページネーションを作成しました。

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 を追加しようとすると、次のようになります。

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} 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 を正しく使用していない方法を誰かに教えてもらえますか。困惑しました。:/

4

3 に答える 3

3

以下のようにクエリを試してください

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

あなたが間違っていたのは、LIMIT が ORDER BY の後に来ることです。続きを読む

于 2013-02-05T12:19:33.077 に答える
0
$query = mysql_query("SELECT * FROM {$statement} ORDER BY model DESC LIMIT {$startpoint}, {$limit} ");
于 2013-02-05T12:27:03.307 に答える
0

クエリを変更します。

$query = mysql_query("SELECT * FROM {$statement} ORDER BY model DESC LIMIT {$startpoint}, {$limit}") ;
于 2013-02-05T12:16:38.973 に答える