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 10 PHP
PHP 单引号与双引号的区别
Nov 24 PHP
php断点续传之如何分割合并文件
Mar 22 PHP
php与flash as3 socket通信传送文件实现代码
Aug 16 PHP
详解PHP的Yii框架中的Controller控制器
Mar 29 PHP
在PHP语言中使用JSON和将json还原成数组的方法
Jul 19 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
Mar 01 PHP
php检查函数必传参数是否存在的实例详解
Aug 28 PHP
PHP 断点续传实例详解
Nov 11 PHP
php微信公众号开发之现金红包
Apr 16 PHP
php引用和拷贝的区别知识点总结
Sep 23 PHP
PHP手机号码及邮箱正则表达式实例解析
Jul 11 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
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
2013/06/02 PHP
基于php-fpm的配置详解
2013/06/03 PHP
php利用ffmpeg提取视频中音频与视频画面的方法详解
2017/06/07 PHP
Jquery工作常用实例 使用AJAX使网页进行异步更新
2011/07/26 Javascript
JavaScript将页面表格导出为Excel的具体实现
2013/12/27 Javascript
原生js和jQuery写的网页选项卡特效对比
2015/04/27 Javascript
js中的内部属性与delete操作符介绍
2015/08/10 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
Bootstrap源码解读排版(1)
2016/12/23 Javascript
javascript实现简单的可随机变色网页计算器示例
2016/12/30 Javascript
javascript 中Cookie读、写与删除操作
2017/03/29 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
详解JS数组Reduce()方法详解及高级技巧
2017/08/18 Javascript
JS中的事件委托实例浅析
2018/03/22 Javascript
vue中设置height:100%无效的问题及解决方法
2018/07/27 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
2019/07/10 jQuery
微信小程序自定义头部导航栏(组件化)
2019/11/15 Javascript
原生JavaScript实现五子棋游戏
2020/11/09 Javascript
JavaScript中展开运算符及应用的实例代码
2021/01/14 Javascript
用Python遍历C盘dll文件的方法
2015/05/06 Python
举例讲解Python的lambda语句声明匿名函数的用法
2016/07/01 Python
Python列表切片用法示例
2017/04/19 Python
python+selenium实现163邮箱自动登陆的方法
2017/12/31 Python
python三方库之requests的快速上手
2019/03/04 Python
计算机二级python学习教程(2) python语言基本语法元素
2019/05/16 Python
pygame实现贪吃蛇游戏(上)
2019/10/29 Python
详解tensorflow2.x版本无法调用gpu的一种解决方法
2020/05/25 Python
为什么是 Python -m
2020/06/19 Python
简短的公司员工自我评价分享
2013/11/13 职场文书
毕业典礼演讲稿
2014/05/13 职场文书
给校长的建议书100字
2014/05/16 职场文书
邻里守望志愿服务活动方案
2014/08/15 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书
2014年转正工作总结
2014/11/08 职场文书
我爱我班主题班会
2015/08/13 职场文书
2019年大学生学年自我鉴定!
2019/03/25 职场文书