ご想像のとおり、<を使用する必要があります。 code> LIMIT キーワード 。
2つの値を受け入れます(quoting) :
- 返される最初の行のオフセット
- 返す最大行数
あなたの場合、最初のページには次のようなものを使用する必要があります:
select * from your_table order by ... limit 0, 50
そして、2ページ目:
select * from your_table order by ... limit 50, 50
そして3つ目は:
select * from your_table order by ... limit 100, 50
など;-)
コメントの後に編集: ページ番号を取得するには、URLから受け取る必要があります。これは次のようになります:
http://www.example.com/page.php?pagenum=2
次に、制限の最初の値を計算します:
$offset = 50 * intval($_GET['pagenum']);
そしてそれをクエリに挿入します:
select * from your_table order by ... limit $offset, 50
さまざまなページへのURLを作成することは、次のようなURLを取得することです:
http://www.example.com/page.php?pagenum=0
http://www.example.com/page.php?pagenum=1
http://www.example.com/page.php?pagenum=2
...
700個の要素があり、1ページあたり50個あることがわかっている場合は、700/50ページになります;-)
したがって、次のような方法でうまくいくはずです:
for ($i=0 ; $i<700/50 ; i++) {
// Use http://www.example.com/page.php?pagenum=$i as URL
}
もちろん、700は変更される可能性のある値であり、ハードコーディングしないでください。データベースから count
を使用して決定する必要があります。 クエリ:
select count(*) as total
from your_table
...