php分页示例代码


Posted in PHP onMarch 19, 2007

<?php 
/* 
需求,建立一个test数据库,在里边建一个test表,里面就 
只要id字段,输入一下数据就可以啦。。 
由于水平有限,难免出错。。 
*/ 
$conn = mysql_connect("localhost","root",""); 
$maxnum = 2;  //每页显示记录条数 
mysql_select_db("test", $conn); 
$query1 = "SELECT COUNT(*) AS totalrows FROM test "; 
$result1 = mysql_query($query1, $conn) or die(mysql_error()); 
$row1 = mysql_fetch_assoc($result1); 
$totalRows1 = $row1['totalrows'];  //数据集数据总条数 
$totalpages = ceil($totalRows1/$maxnum);//计算可分页总数,ceil()为上舍函数 
if(!isset($_GET['page']) || !intval($_GET['page']) || $_GET['page'] > $totalpages) $page = 1;  //对3种出错进行默认处理 
//在url参数page不存在时,page不为10进制数时,page大于可分页数时,默认为1 
else $page = $_GET['page']; 
$startnum = ($page - 1)*$maxnum; //从数据集第$startnum条开始取,注意数据集是从0开始的 
$query = "SELECT * FROM test LIMIT $startnum,$maxnum";//选择出符合要求的数据 从$startnum条数据开始,选出$maxnum行 
$result = mysql_query($query, $conn) or die(mysql_error()); 
$row = mysql_fetch_assoc($result); 
?> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 
<title>分页示例</title> 
<script language="JavaScript" type="text/JavaScript"> 
<!-- 
function MM_jumpMenu(targ,selObj,restore){ //v3.0 
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); 
  if (restore) selObj.selectedIndex=0; 

//--> 
</script> 
<style type="text/css"> 
a{text-decoration:none;} 
a:hover{text-decoration:underline} 
table{font-size:12px;} 
.tb{background-color:#73BB95} 
.tr{background-color:#FFFFFF} 
</style> 
</head> 
<body> 
<table width="30%"  border="0" align="center" cellpadding="0" cellspacing="1" class="tb"> 
  <tr> 
    <td height="24"><div align="left">分页示例</div></td> 
  </tr> 
  <?php if($totalRows1) {//记录集不为空显示 
  do {  
  ?> 
  <tr class="tr"> 
    <td height="24"><div align="center"><?php echo $row['id'];?></div></td> 
  </tr> 
  <?php }while($row = mysql_fetch_assoc($result));?> 
</table> 
<table width="95%"  border="0" align="center" cellpadding="0" cellspacing="0"> 
  <tr><form name="form1"> 
    <td height="27"><div align="center"> 
    <?php  
     echo "共计<font color="#ff0000">$totalRows1</font>条记录"; 
     echo "<font color="#ff0000">".$page."</font>"."/".$totalpages."页 ";  
    //实现 << < 1 2 3 4 5> >> 分页链接 
    $pre = $page - 1;//上一页 
    $next = $page + 1;//下一页 
    $maxpages = 4;//处理分页时 << < 1 2 3 4 > >>显示4页 
    $pagepre = 1;//如果当前页面是4,还要显示前$pagepre页,如<< < 3 /4/ 5 6 > >> 把第3页显示出来 
    if($page != 1) { echo "<a href='".$_SERVER['PHP_SELF']."'><<</a> "; 
    echo "<a href='".$_SERVER['PHP_SELF'].'?page='.$pre."'><</a> ";} 
    if($maxpages>=$totalpages) //如果总记录不足以显示4页 
    {$pgstart = 1;$pgend = $totalpages;}//就不所以的页面打印处理 
    elseif(($page-$pagepre-1+$maxpages)>$totalpages)//就好像总页数是6,当前是5,则要把之前的3 4 显示出来,而不仅仅是4 
    {$pgstart = $totalpages - $maxpages + 1;$pgend = $totalpages;} 
    else{ 
    $pgstart=(($page<=$pagepre)?1:($page-$pagepre));//当前页面是1时,只会是1 2 3 4 > >>而不会是 0 1 2 3 > >> 
    $pgend=(($pgstart==1)?$maxpages:($pgstart+$maxpages-1)); 
    } 
    for($pg=$pgstart;$pg<=$pgend;$pg++){ //跳转菜单 
    if($pg == $page) echo "<a href="".$_SERVER['PHP_SELF']."?page=$pg"><font color="#ff0000">$pg</font></a> "; 
    else echo "<a href="".$_SERVER['PHP_SELF']."?page=$pg">$pg</a> "; 
    } 
    if($page != $totalpages) 
    {echo "<a href='".$_SERVER['PHP_SELF'].'?page='.$next."'>></a> "; 
    echo "<a href='".$_SERVER['PHP_SELF'].'?page='.$totalpages."'>>></a> ";} 
    ?> 
      <select name="menu1" onChange="MM_jumpMenu('parent',this,0)"> 
      <option value="">选择</option> 
      <?php for($pg1=1;$pg1<=$totalpages;$pg1++) { 
       echo "<option value="".$_SERVER['PHP_SELF']."?page=$pg1">".$pg1."</option>"; 
      }?> 
      </select> 
    </td></form> 
  </tr> 
</table> 
<?php } else {//记录集为空时显示?> 
<tr class="tr"> 
    <td height="24"><div align="center">没有任何记录</div></td> 
  </tr> 
  </table> 
<?php }?> 
</body> 
</html> 
<?php  
mysql_free_result($result1); 
mysql_free_result($result); 
?> 

PHP 相关文章推荐
PHP 页面跳转到另一个页面的多种方法方法总结
Jul 07 PHP
php的ajax框架xajax入门与试用介绍
Dec 19 PHP
PHP读取txt文件的内容并赋值给数组的代码
Nov 03 PHP
初品cakephp 入门基础
Feb 16 PHP
thinkphp路由规则使用示例详解和伪静态功能实现(apache重写)
Feb 24 PHP
PHP把MSSQL数据导入到MYSQL的方法
Dec 27 PHP
joomla组件开发入门教程
May 04 PHP
php 查找数组元素提高效率的方法详解
May 05 PHP
PHP验证码无法显示的原因及解决办法
Aug 11 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
Aug 17 PHP
php使用fputcsv实现大数据的导出操作详解
Feb 27 PHP
PHP 8新特性简介
Aug 18 PHP
简单介绍下 PHP5 中引入的 MYSQLI的用途
Mar 19 #PHP
IIS6的PHP最佳配置方法
Mar 19 #PHP
php中的实现trim函数代码
Mar 19 #PHP
php中判断一个字符串包含另一个字符串的方法
Mar 19 #PHP
php之字符串变相相减的代码
Mar 19 #PHP
PHP入门速成教程
Mar 19 #PHP
phpMyAdmin 安装教程全攻略
Mar 19 #PHP
You might like
php入门学习知识点五 关于php数组的几个基本操作
2011/07/14 PHP
PHP中子类重载父类的方法【parent::方法名】
2016/05/06 PHP
php+js实现百度地图多点标注的方法
2016/11/30 PHP
PHP 类与构造函数解析
2017/02/06 PHP
用jQuery打造TabPanel效果代码
2010/05/22 Javascript
Javascript复制实例详解
2016/01/28 Javascript
node+express制作爬虫教程
2016/11/11 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
js实现拖拽功能
2017/03/01 Javascript
vue的mixins属性详解
2018/03/14 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
Vuex 快速入门(简单易懂)
2018/09/20 Javascript
vue3实现v-model原理详解
2019/10/09 Javascript
JavaScript对象访问器Getter及Setter原理解析
2020/12/08 Javascript
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
在Django框架中编写Context处理器的方法
2015/07/20 Python
教你利用Python玩转histogram直方图的五种方法
2018/07/30 Python
对python中的iter()函数与next()函数详解
2018/10/18 Python
Python3.6.2调用ffmpeg的方法
2019/01/10 Python
使用python opencv对目录下图片进行去重的方法
2019/01/12 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
python3 配置logging日志类的操作
2020/04/08 Python
Python中的Cookie模块如何使用
2020/06/04 Python
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
ShellScript面试题一则-ShellScript编程
2014/03/05 面试题
机械设计毕业生自荐信
2014/02/02 职场文书
妇女儿童发展规划实施方案
2014/03/16 职场文书
活动总结怎么写
2014/04/28 职场文书
工程材料采购方案
2014/05/18 职场文书
任命书模板
2014/06/04 职场文书
班主任自我评价范文
2015/03/11 职场文书
2016教师给学生的毕业寄语
2015/12/04 职场文书
读《皮囊》有感:理解是对他人的最大的善举
2019/11/14 职场文书
MySQL 十大常用字符串函数详解
2021/06/30 MySQL
MySQL一劳永逸永久支持输入中文的方法实例
2022/08/05 MySQL