一起源码网

  • www.171739.xyz
  • 全球最大的互联网技术和资源下载平台
搜索
猜你喜欢
查看: 8105|回复: 1
打印 上一主题 下一主题

php中关于分页原理的实例

[复制链接]

0

主题

0

帖子

1万

积分

钻石会员

Rank: 8Rank: 8

积分
17424
QQ
跳转到指定楼层
楼主
发表于 2020-4-30 04:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
php中关于分页原理的实例

<?php
1.分页原理

所需数据:
总记录数: $records  mysql_num_rows()
每页显示: $pagesize 人为定义10
总页数:   $pages    $records/$pagesize
当前页:   $page   自己选择



2.分页的sql语句: SELECT * FROM news limit 0,10;  //每次从数据库取10条数据

limit 语句的格式:
$startnow:开始行号 $pagesize:每页显示多少条
limit $startnow,$pagesize


第1页 $page = 1   limit 0,10  从0条起取10条数据
第2页 $page = 2   limit 10,10
第3页 $page = 3   limit 20,10
........

$startnow = ($page-1) * $pagesize;


3.
//分页相关变量
$pagesize = 10; //每页取10条数据
//获取地址栏中用户点击后地址栏传递过来的page参数(第几页)
if(empty($_REQUEST['page'])){
    $page =1;
    $startnow =0;
}else{
    $page = (int)$_REQUEST['page'];
    $startnow = ($page-1) * $pagesize;
}

//构建sql语句
$sql = select * from vvt_news; //可以取出结果分页中再排序
//执行sql语句
$result = mysql_query($sql);
//返回记录总数
$records = mysql_num_rows($result);
//获取总页数
$pages =  ceil($records/$pagesize); 

//构建分页的sql语句
$sql = "select * from vvt_news order addtime ASC,by id DESC LIMIT $startnow,$pagesize";
//执行sql语句 返回结果集
$result = mysql_query($sql); //结果集 可以取前端循环

$this->set('list', $result); //发送到前台 遍历循环





4.前台底部分页样式

<style type="text/css">
.pagelist{
    height:40px;
    line-height:40px;
}
.pagelist a{
    border:1px solid #ccc;
    background-color:#f0f0f0;
    padding:3px 8px;
    margin:0px; 3px;

}
.pagelist span {
    margin:3px 10px;
}
</style>

<tr>
    <td colspan="8" align="center" class="pagelist">
    <?php
        for ($i=1; $i<$pages ; $i++) { 
            //如果是当前页则不加链接
            if($i==$page){
                echo "<span>$i</span>";
            }else{
                echo "<a href='magin.php?page=$i'>$i</a>";    
            }
            
        }
    ;?>
    </td>
</tr>

-->2

<tr>
    <td colspan="8" align="center" class="pagelist">
    <?php
        $prev=$page-3;
        $next=$page+3;
        for ($i=$prev; $i<$next ; $i++) { 
            //如果是当前页则不加链接
            if($i==$page){
                echo "<span>$i</span>";
            }else{
                echo "<a href='magin.php?page=$i'>$i</a>";    
            }
            
        }
    ;?>
    </td>
</tr>


-->3

<tr>
    <td colspan="8" align="center" class="pagelist">
    <?php
        $prev=$page-3;
        $next=$page+3;
        if($prev<1){
            $prev=1;
        }
        if($nest > $pages){
            $next=$pages;
        }
        for ($i=$prev; $i<$next ; $i++) { 
            //如果是当前页则不加链接
            if($i==$page){
                echo "<span>$i</span>";
            }else{
                echo "<a href='magin.php?page=$i'>$i</a>";    
            }
            
        }
    ;?>
    </td>
</tr>


-->4 判断当前页小于4,让分页始终保持7个

分享到:  QQ好友和群QQ好友和群
收藏收藏
回复

使用道具 举报

0

主题

17

帖子

2万

积分

钻石会员

Rank: 8Rank: 8

积分
25039
QQ
沙发
发表于 2022-10-1 10:28 | 只看该作者
项目源代码免费下载
回复

使用道具 举报

一起源码让程序更轻更快

www.171739.xyz

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表