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获得文件扩展名三法
Nov 25 PHP
fleaphp下不确定的多条件查询的巧妙解决方法
Sep 11 PHP
php基础教程 php内置函数实例教程
Aug 21 PHP
深入PHP nl2br()格式化输出的详解
Jun 05 PHP
PHP 解决session死锁的方法
Jun 20 PHP
PHP中session变量的销毁
Feb 27 PHP
Thinkphp中Create方法深入探究
Jun 16 PHP
实用的PHP带公钥加密类分享(每次加密结果都不一样哦)
Aug 20 PHP
PHP递归遍历指定目录的文件并统计文件数量的方法
Mar 24 PHP
php实现mysql数据库连接操作及用户管理
Nov 08 PHP
RSA实现JS前端加密与PHP后端解密功能示例
Aug 05 PHP
thinkPHP事务操作简单案例分析
Oct 17 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模板之Phpbean的目录结构
2008/01/10 PHP
php使用pear_smtp发送邮件
2016/04/15 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
PHP实现的微信公众号扫码模拟登录功能示例
2019/05/30 PHP
php use和include区别总结
2019/10/13 PHP
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
推荐10个超棒的jQuery工具提示插件
2011/10/11 Javascript
js history对象简单实现返回和前进
2013/10/30 Javascript
React Native实现进度条弹框的示例代码
2017/07/17 Javascript
Angular使用操作事件指令ng-click传多个参数示例
2018/03/27 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
2018/08/24 Javascript
微信小程序使用wxParse解析html的实现示例
2018/08/30 Javascript
深入理解Angularjs 脏值检测
2018/10/12 Javascript
JS实现十分钟倒计时代码实例
2018/10/18 Javascript
Angular之jwt令牌身份验证的实现
2020/02/14 Javascript
用Python删除本地目录下某一时间点之前创建的所有文件的实例
2017/12/14 Python
python+pandas生成指定日期和重采样的方法
2018/04/11 Python
python实现简易数码时钟
2021/02/19 Python
python实现图像拼接功能
2020/03/23 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
Python设计密码强度校验程序
2020/07/30 Python
python 提高开发效率的5个小技巧
2020/10/19 Python
Python jieba结巴分词原理及用法解析
2020/11/05 Python
详解Python中string模块除去Str还剩下什么
2020/11/30 Python
CSS3中的Transition过度与Animation动画属性使用要点
2016/05/20 HTML / CSS
高清安全摄像头系统:Lorex Technology
2018/07/20 全球购物
Crabtree & Evelyn欧盟:豪华洗浴、身体和护发
2021/03/09 全球购物
电子商务专业实习生自我鉴定
2013/09/24 职场文书
煤矿班组长竞聘书
2014/03/31 职场文书
篮球赛口号
2014/06/18 职场文书
意外死亡赔偿协议书
2014/10/14 职场文书
2014教师年度思想工作总结
2014/11/10 职场文书
爱国之歌(8首)
2019/09/29 职场文书
Redis唯一ID生成器的实现
2022/07/07 Redis
Vue router配置与使用分析讲解
2022/12/24 Vue.js