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> <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>"; } } ?> <a href="<?php echo "$_SERVER[PHP_SELF]?page=".($page+1) ?>">下一页</a> <a href="<?php echo "$_SERVER[PHP_SELF]?page={$total_page}" ?>">末页</a> <span>共<?php echo $total?>条</span> </div>
上記の PHP コードを少し変更し、データベースとデータ テーブルをローカル情報に変更するだけです。そして、表示したいページにHTMLコードを配置すると、ページングが実現できます