0

私のページで何が起こっているのか、少し混乱しています。下部にページ番号があり、アイテムでいっぱいのテーブルには、23 のさまざまなアイテムが表示されます。

各ページには、一度に 5 つのアイテムが表示されるはずです。pagenumber = anything で get を送信するページが表示されています。

だから基本的に私はこれを持っています:

$highLimit = $pageNo*5;
$lowLimit = $highLimit-5;
$sql = mysql_query("SELECT * FROM items 
                   ORDER BY id DESC 
                   LIMIT $lowLimit, $highLimit");

最初のページは正常に動作し、正しい 5 が表示されます。次に、2 ページ目に次の 10 が表示され、3 ページ目に最後の 13 が表示されます。次に、4 ページに 3 ページの最後の 8 が表示され、5 ページに最後の 3 が表示されます。 4ページの。

$sql の num_rows を出力すると、5、10、13、8、3 と表示されます。入力した制限よりも多くの行を取得する方法がわかりません。

制限は 0 5、5 10、10 15 などになり、機能しているようです。

$sql は、前のページなどから元のデータを保持していますか?

何が問題なのか本当にわかりません。誰かが助けてくれることを願っています。

タイ

明確にするために、これは現在のページとそのページのデータの ID です

ページ1:

23, 22, 21, 20, 19

ページ2:

18, 17, 16, 15, 14
13, 12, 11, 10, 9

ページ 3:

13, 12, 11, 10, 9
8,  7,  6,  5,  4
3, 2, 1

ページ 4:

8,  7,  6,  5,  4
3, 2, 1

ページ 5:

3, 2, 1
4

2 に答える 2

1

LIMIT の構文は、必要に応じて開始オフセット、次に必要な行の数です (ドキュメント)。したがって、2 番目の値は常に 5 にする必要があります

于 2013-10-04T02:46:52.517 に答える