PHP分页函数代码(简单实用型)


Posted in PHP onDecember 02, 2010

准备数据:

新建一个数据库 test
执行下面的语句(新建一个表 test :id、sex、name 三个字段)

CREATE TABLE `test` (
`id` INT( 4 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`sex` INT( 1 ) NOT NULL ,
`name` VARCHAR( 20 ) NOT NULL ) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_bin;

添加数据到 test 表,比如:
1 1 小强
2 0 小红
3 0 小丽
4 1 小兵
5 1 张三
6 0 李四
7 0 吴欣
PHP分页函数代码(简单实用型)
写PHP语句(index.php):

<?php 
// Page分页函数 
$page = $_GET["page"]; 
function Page($rows,$page_size){ 
global $page,$select_from,$select_limit,$pagenav; 
$page_count = ceil($rows/$page_size); 
if($page <= 1 || $page == '') $page = 1; 
if($page >= $page_count) $page = $page_count; 
$select_limit = $page_size; 
$select_from = ($page - 1) * $page_size.','; 
$pre_page = ($page == 1)? 1 : $page - 1; 
$next_page= ($page == $page_count)? $page_count : $page + 1 ; 
$pagenav .= "第 $page/$page_count 页 共 $rows 条记录 "; 
$pagenav .= "<a href='?page=1'>首页</a> "; 
$pagenav .= "<a href='?page=$pre_page'>前一页</a> "; 
$pagenav .= "<a href='?page=$next_page'>后一页</a> "; 
$pagenav .= "<a href='?page=$page_count'>末页</a>"; 
$pagenav.=" 跳到<select name='topage' size='1' onchange='window.location=\"?page=\"+this.value'>\n"; 
for($i=1;$i<=$page_count;$i++){ 
if($i==$page) $pagenav.="<option value='$i' selected>$i</option>\n"; 
else $pagenav.="<option value='$i'>$i</option>\n"; 
} 
} // Page分页函数 
// 使用示例 
if (!$conn= mysql_connect("localhost", "root" ,"root")) die('数据库选择失败!'); 
if (!mysql_select_db("test", $conn)) die('数据库选择失败!'); 
mysql_query('set names GBK'); 
// 用Page函数计算出 $select_from 从哪条记录开始检索、$pagenav 输出分页导航 
$rows = mysql_num_rows(mysql_query("select * from test")); 
Page($rows,2); 
$sql = "select * from test limit $select_from $select_limit"; 
$rst = mysql_query($sql); 
while ($row = mysql_fetch_array($rst)){ 
echo "$row[id] - $row[sex] - $row[name] <hr />"; 
} 
echo $pagenav; 
?>

浏览 index.php 页面,如图:
PHP分页函数代码(简单实用型)
该说byebye了,确实好用!

PHP简单分页函数
写了一个php简单的分页函数,数据库调用也写到里面了 ,用的人可以自行删减!

function getask(){ 
$sql = "select * from cms_ask where ansower <> ' ' "; 
//这里要改成方法 
$q_sq = mysql_query($sql); 
$count = mysql_num_rows($q_sq); 
$page_size = 8; 
$page_current = isset($GLOBALS['page']) ? intval($GLOBALS['page']) : 1; 
$page_count = ceil($count / $page_size); 
$page_start = $page_current - 4; 
$page_end = $page_current + 4; 
if ($page_current < 5) { 
$page_start = 1; 
$page_end = 5; 
} 
if ($page_current > $page_count - 4) { 
$page_start = $page_count - 8; 
$page_end = $page_count; 
} 
if ($page_start < 1) 
$page_start = 1; 
if ($page_end > $page_count) 
$page_end = $page_count; 
$pagebar = ""; 
$sql = "select * from cms_ask where ansower <> ' ' order by id desc limit " . (($page_current - 1) * $page_size) . "," . $page_size; 
$row=$this -> user -> getall("$sql"); 
foreach($row as $v){ 
echo '<dl><dt>问:'.$v["question"].'</dt><dd>答:'.$v["ansower"].date("Y-m-d H:i:s",$v["postTime"]).'</dd></dl>'; } 
$pagebar .= "<div class=\"page\">"; 
$pagebar .= "<ol>"; 
if ($page_current != 1) { 
$pagebar .= '<li><a href="javascript:get_comment(1)" class="sx">FIRST</a></li>'; 
} 
for ($i = $page_start; $i <= $page_end; $i++) { 
if ($i == $page_current) { 
$pagebar .= "<li><span class=\"sort\">" . $i . "</span></li>"; 
} else { 
$pagebar .= "<li><a href='javascript:get_comment(" . $i . ")'>" . $i . "</a></li>"; 
} 
} 
if ($page_current != $page_count) { 
$pagebar .= "<li><a href='javascript:get_comment(" . $page_count . ")' class='sx'>END</a></li>"; 
} 
$pagebar .= "</ol>"; 
$pagebar .= " </div>"; 
echo $pagebar; 
}
PHP 相关文章推荐
分页显示Oracle数据库记录的类之一
Oct 09 PHP
Linux下ZendOptimizer的安装与配置方法
Apr 12 PHP
PHP 5.0对象模型深度探索之对象复制
Mar 27 PHP
Thinkphp模板中使用自定义函数的方法
Sep 23 PHP
解析argc argv在php中的应用
Jun 24 PHP
PHP生成短网址的3种方法代码实例
Jul 08 PHP
php使用function_exists判断函数可用的方法
Nov 19 PHP
PHP JSON格式的中文显示问题解决方法
Apr 09 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
Apr 17 PHP
详谈PHP程序Laravel 5框架的优化技巧
Jul 18 PHP
PHP基于自定义类随机生成姓名的方法示例
Aug 05 PHP
Laravel 集成 Geetest验证码的方法
May 14 PHP
php图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
Dec 02 #PHP
php小偷相关截取函数备忘
Nov 28 #PHP
php与paypal整合方法
Nov 28 #PHP
网站用php实现paypal整合方法
Nov 28 #PHP
paypal即时到账php实现代码
Nov 28 #PHP
解析PayPal支付接口的PHP开发方式
Nov 28 #PHP
php购物网站支付paypal使用方法
Nov 28 #PHP
You might like
德生PL990的分析评价
2021/03/02 无线电
PHP实现多图片上传类实例
2014/07/26 PHP
php实现的数组转xml案例分析
2019/09/28 PHP
laravel-admin 后台表格筛选设置默认的查询日期方法
2019/10/03 PHP
javascript 动态设置已知select的option的value值的代码
2009/12/16 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
JS模拟自动点击的简单实例
2013/08/08 Javascript
jquery.post用法示例代码
2014/01/03 Javascript
使用node.js 制作网站前台后台
2014/11/13 Javascript
深入理解JavaScript系列(17):面向对象编程之概论详细介绍
2015/03/04 Javascript
用jQuery向div中添加Html文本内容的简单实现
2016/07/13 Javascript
对Js OOP编程 创建对象的一些全面理解
2016/07/26 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
详解layui弹窗父子窗口之间传参数的方法
2018/01/16 Javascript
详解服务端预渲染之Nuxt(介绍篇)
2019/04/07 Javascript
vue实现按需加载组件及异步组件功能
2019/05/27 Javascript
[04:50]DOTA2亚洲邀请赛小组赛第四日 TOP10精彩集锦
2015/02/02 DOTA
[01:16:50]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第一场 3月7日
2021/03/11 DOTA
Python中的heapq模块源码详析
2019/01/08 Python
python opencv 二值化 计算白色像素点的实例
2019/07/03 Python
DJANGO-URL反向解析REVERSE实例讲解
2019/10/25 Python
Python 通过监听端口实现唯一脚本运行方式
2020/05/05 Python
Python venv虚拟环境配置过程解析
2020/07/08 Python
一个入门级python爬虫教程详解
2021/01/27 Python
俄罗斯香水和化妆品在线商店:Aroma-butik
2020/02/28 全球购物
简单说说tomcat的配置
2013/05/28 面试题
销售人员自我评价
2014/02/01 职场文书
1亿有多大教学反思
2014/05/01 职场文书
羽毛球比赛策划方案
2014/06/13 职场文书
党的群众路线教育实践活动个人整改措施
2014/10/27 职场文书
2015年招商引资工作总结
2015/04/25 职场文书
入党介绍人考察意见
2015/06/01 职场文书
教师节随笔
2015/08/15 职场文书
《角的初步认识》教学反思
2016/02/17 职场文书
一篇文章带你了解Python和Java的正则表达式对比
2021/09/15 Python