-2

データベースには、少なくとも 100 以上のテーブル行が多数あります。したがって、ページに表示されるページ番号を制限する必要があります。

次のような場合:

前へ 1 2 3 4 5 6 .. 40 41 次へ

これになるはずです:

前へ 1 2 .. 6 7 8 9 10 .. 40 41 次へ

以下のコードは、基本的なページネーションを作成するために使用するものです。

<?php
    require 'php/connect.inc.php';
    $per_page = 6;

    $pages_query = mysql_query("SELECT COUNT('user_id') FROM users");
    $pages = ceil(mysql_result($pages_query, 0) / $per_page);

    $page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
    $start = ($page - 1) * $per_page;


    $query = mysql_query("SELECT `user_username` FROM `users` LIMIT $start, $per_page");
    while($mysql_fetch_assoc = mysql_fetch_assoc($query)){
        echo '<p>', $mysql_fetch_assoc['user_username'] ,'</p>';
    }

    if ($pages >= 1 && $page <= $pages){
        for ($x=1; $x <= $pages; $x++){
            echo ($x == $page) ? '<strong><a href="?page='.$x.'">'.$x.'</a></strong> ' : '<a href="?page='.$x.'">'.$x.'</a>';
        }
    }
?>
4

1 に答える 1