3

ディスカッション ボードの投稿を日付順に並べ替えようとしています。これが私のコードです:

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

これには構文的に何か問題がありますか?そうでない場合、他に何が間違っている可能性がありますか? 基本的に何が起こっているかというと、結果が表示されていないということです。Order by を削除すると、機能します (ただし、もちろんソートされていません...)

4

3 に答える 3

6

オーダーバイは制限の前に行く必要があります:

$query = mysql_query("SELECT * FROM {$statement} 
ORDER BY datetime ASC LIMIT {$startpoint} , {$limit}");
于 2012-04-04T16:30:43.347 に答える
3

これを試して:

$query = mysql_query("SELECT * FROM {$statement} 
ORDER BY datetime ASC LIMIT {$startpoint} , {$limit} ");
于 2012-04-04T16:30:58.387 に答える
1

少し遅すぎるかもしれませんが、mySQL は非常に便利な OFFSET キーワードを提供しています...特にページネーションに

mysql_query("SELECT * FROM {$statement} ORDER BY datetime ASC LIMIT {$limit} OFFSET {offset}

1 ページあたり 10 レコードを探していて、2 ページ目にレコードを表示したい場合、つまりレコード 11 ~ 20 のクエリは次のようになります。

 mysql_query("SELECT * FROM {$statement} ORDER BY datetime ASC LIMIT 10 OFFSET 10

参照: http://www.petefreitag.com/item/451.cfm

于 2012-08-09T14:09:37.763 に答える