PHP で開発された掲示板のページネーション

ページに大量のデータが表示される場合、ページングを使用してページ内のデータを表示する必要があります。ページング コードは次のとおりです

<?php
session_start();
header("content-type:text/html;charset=utf-8");
$page=isset($_GET['page']) ?$_GET['page'] :1 ;//接收页码
$page=!empty($page) ? $page :1;
$conn=mysqli_connect("localhost","root","root","Ressage");
mysqli_set_charset($conn,'utf8'); //设定字符集
$table_name="ressage_user";//查取表名设置
$perpage=5;//每页显示的数据个数
//最大页数和总记录数
$total_sql="select count(*) from $table_name";
$total_result =mysqli_query($conn,$total_sql);
$total_row=mysqli_fetch_row($total_result);
$total = $total_row[0];//获取最大页码数
$total_page = ceil($total/$perpage);//向上整数
//临界点
$page=$page>$total_page ? $total_page:$page;//当下一页数大于最大页数时的情况
//分页设置初始化
$start=($page-1)*$perpage;

ページング コードは 2 つの部分に分かれています。その一部は、クエリされたデータを HTML ページに表示することです。HTML コードは次のとおりです

<div id="baner" style="margin-top: 20px">
    <a href="<?php
    echo "$_SERVER[PHP_SELF]?page=1"
    ?>">首页</a>
    &nbsp;&nbsp;<a href="<?php
    echo "$_SERVER[PHP_SELF]?page=".($page-1)
    ?>">上一页</a>
    <!--        显示123456等页码按钮-->
    <?php
    for($i=1;$i<=$total_page;$i++){
        if($i==$page){//当前页为显示页时加背景颜色
            echo "<a  style='padding: 5px 5px;background: #000;color: #FFF' href='$_SERVER[PHP_SELF]?page=$i'>$i</a>";
        }else{
            echo "<a  style='padding: 5px 5px' href='$_SERVER[PHP_SELF]?page=$i'>$i</a>";
        }
    }
    ?>
    &nbsp;&nbsp;<a href="<?php
    echo "$_SERVER[PHP_SELF]?page=".($page+1)
    ?>">下一页</a>
    &nbsp;&nbsp;<a href="<?php
    echo "$_SERVER[PHP_SELF]?page={$total_page}"
    ?>">末页</a>
    &nbsp;&nbsp;<span>共<?php echo $total?>条</span>
</div>

上記の PHP コードを少し変更し、データベースとデータ テーブルをローカル情報に変更するだけです。そして、表示したいページにHTMLコードを配置すると、ページングが実現できます




学び続ける
||
<!doctype html> <html> <head> <meta charset="utf-8"> <title>PHP中文网</title> </head> <body> <h2>PHP分页代码</h2> </body> </html>
  • おすすめコース
  • コースウェアのダウンロード
現時点ではコースウェアはダウンロードできません。現在スタッフが整理中です。今後もこのコースにもっと注目してください〜