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简单命令代码集锦
Sep 24 PHP
用php过滤危险html代码的函数
Jul 22 PHP
PHP执行linux系统命令的常用函数使用说明
Apr 27 PHP
php下将图片以二进制存入mysql数据库中并显示的实现代码
May 27 PHP
PHP number_format() 函数定义和用法
Jun 01 PHP
理解PHP中的stdClass类
Apr 18 PHP
php基于表单密码验证与HTTP验证用法实例
Jan 06 PHP
PHP设计模式之装饰者模式代码实例
May 11 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
May 27 PHP
PHP中Closure类的使用方法及详解
Oct 09 PHP
Zend Framework路由器用法实例详解
Dec 11 PHP
浅谈PHP的exec()函数无返回值排查方法(必看)
Mar 31 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
这部好评如潮的动漫 知名梗频出 但是画风劝退很多人
2020/03/08 日漫
php cli换行示例
2014/04/22 PHP
PHP设计模式之简单投诉页面实例
2016/02/24 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
读jQuery之二(两种扩展)
2011/06/11 Javascript
浅谈javascript中for in 和 for each in的区别
2015/04/23 Javascript
window.onload使用指南
2015/09/13 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
简易的JS计算器实现代码
2016/10/18 Javascript
js实现简单数字变动效果
2017/11/06 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
vue实现todolist基本功能以及数据存储功能实例详解
2019/04/11 Javascript
微信公众平台 客服接口发消息的实现代码(Java接口开发)
2019/04/17 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
js实现3D粒子酷炫动态旋转特效
2020/09/13 Javascript
详解datagrid使用方法(重要)
2020/11/06 Javascript
python将人民币转换大写的脚本代码
2013/02/10 Python
Python导入oracle数据的方法
2015/07/10 Python
python创建列表和向列表添加元素的实现方法
2017/12/25 Python
对python中for、if、while的区别与比较方法
2018/06/25 Python
解决pycharm工程启动卡住没反应的问题
2019/01/19 Python
python 实现return返回多个值
2019/11/19 Python
在Python中用GDAL实现矢量对栅格的切割实例
2020/03/11 Python
django 模版关闭转义方式
2020/05/14 Python
python 抓取知乎指定回答下视频的方法
2020/07/09 Python
李维斯法国官网:Levi’s法国
2019/07/13 全球购物
如何写毕业求职自荐信
2013/11/06 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
装修设计师求职信
2014/02/26 职场文书
黄金搭档广告词
2014/03/21 职场文书
会计演讲稿范文
2014/05/23 职场文书
安全口号大全
2014/06/21 职场文书
2015大学生党员自我评价范文
2015/03/03 职场文书
《多彩的民间艺术》教学反思
2016/02/16 职场文书
Python OpenCV超详细讲解读取图像视频和网络摄像头
2022/04/02 Python
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers