sql >> データベース >  >> RDS >> Mysql

mysqlクエリから複数のページを作成する

    ご想像のとおり、<を使用する必要があります。 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
    ...
    


    1. 自動インクリメントがmysqlで生成できる最大のID番号は何ですか

    2. Ansibleを使用したPostgreSQLレプリケーションのセットアップとメンテナンス

    3. アプリケーションが起動するたびにリソースIDが変更されますか

    4. MySQL/MariaDB用のAzureデータベースをオンプレミスサーバーに移行する