php分页代码实例(可自适应范围)
时间:2021-07-01 10:21:17
帮助过:3人阅读
/* - * mysql分页函数代码
- * edit:bbs.it-home.org
- *
- */
- function page($page,$total,$phpfile,$pagesize=10,$pagelen=7){
- $pagecode = '';//定义变量,存放分页生成的HTML
- $page = intval($page);//避免非数字页码
- $total = intval($total);//保证总记录数值类型正确
- if(!$total) return array();//总记录数为零返回空数组
- $pages = ceil($total/$pagesize);//计算总分页
- //处理页码合法性
- if($page<1) $page = 1;
- if($page>$pages) $page = $pages;
- //计算查询偏移量
- $offset = $pagesize*($page-1);
- //页码范围计算
- $init = 1;//起始页码数
- $max = $pages;//结束页码数
- $pagelen = ($pagelen%2)?$pagelen:$pagelen+1;//页码个数
- $pageoffset = ($pagelen-1)/2;//页码个数左右偏移量
//生成html - $pagecode='';
- $pagecode.="$page/$pages";//第几页,共几页
- //如果是第一页,则不显示第一页和上一页的连接
- if($page!=1){
- $pagecode.="<<";//第一页
- $pagecode.="<";//上一页
- }
- //分页数大于页码个数时可以偏移
- if($pages>$pagelen){
- //如果当前页小于等于左偏移
- if($page<=$pageoffset){
- $init=1;
- $max = $pagelen;
- }else{//如果当前页大于左偏移
- //如果当前页码右偏移超出最大分页数
- if($page+$pageoffset>=$pages+1){
- $init = $pages-$pagelen+1;
- }else{
- //左右偏移都存在时的计算
- $init = $page-$pageoffset;
- $max = $page+$pageoffset;
- }
- }
- }
- //生成html
- for($i=$init;$i<=$max;$i++){
- if($i==$page){
- $pagecode.=''.$i.'';
- } else {
- $pagecode.="$i";
- }
- }
- if($page!=$pages){
- $pagecode.=">";//下一页
- $pagecode.=">>";//最后一页
- }
- $pagecode.="";
- return array('pagecode'=>$pagecode,'sqllimit'=>' limit '.$offset.','.$pagesize);
- }
- ?>
2,添加了页码跳转文本框
- $phpfile = 'index.php';//页面文件名
- $page= isset($_GET['page'])?$_GET['page']:1;//默认页码
- $db = mysql_connect('localhost','test','test');//链接数据库
- mysql_select_db('test',$db);//选择数据库
- $counts = mysql_num_rows(mysql_query('select `id` from `test`',$db));//获取需要的数据总条数
- $sql='select `id`,`title` from `test`';//定义查询语句SQL
- $getpageinfo = page($page,$counts,$phpfile);//调用函数,生成分页HTML 和 SQL LIMIT 子句
- $sql.=$getpageinfo['sqllimit'];//组合完整的SQL语句
- $data = $row = array();//初始化数组
- $result = mysql_query($sql,$db);//获取结果集
- //将数据装入$data数组
- while($row = mysql_fetch_array($result)){
- $data[]=$row;
- }
- ?>
- echo $getpageinfo['pagecode'];//显示分页的html代码
- ?>
3,此分页查询代码中用到的css样式表文件。
推荐阅读:
- php与ajax无刷新分页代码
- php 文章分页的实现代码
- php limit 翻页(分页)代码
- 带多种分页方式的php分页类
- 上一页与下一页的php分页代码
- 前十页、后十页方式的php分页代码
- 简单的php分页代码的例子
- 一个不错的php分页类的代码
- 一个分页函数:上一页 下一页
- 一个好用的php分页类
- php长文章分页代码
- 一个实用的php分页类
- 快速php分页类
|