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;
페이징 코드는 두 부분으로 나누어집니다. 그 중 일부는 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 코드를 넣으면 페이징이 구현됩니다