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中使用Oracle数据库(1)
Oct 09 PHP
PHP之COOKIE支持详解
Sep 20 PHP
php操作MongoDB基础教程(连接、新增、修改、删除、查询)
Mar 25 PHP
php中函数前加&amp;符号的作用分解
Jul 08 PHP
Nginx下配置codeigniter框架方法
Apr 07 PHP
PHP格式化MYSQL返回float类型的方法
Mar 30 PHP
Thinkphp事务操作实例(推荐)
Apr 01 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
PHP获取数组中指定的一列实例
Dec 27 PHP
thinkPHP5框架自定义验证器实现方法分析
Jun 11 PHP
PHP封装的验证码工具类定义与用法示例
Aug 22 PHP
php原生数据库分页的代码实例
Feb 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中抽象类和抽象方法概念与用法分析
2016/05/24 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
JQUERY获取form表单值的代码
2010/07/17 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
js原型继承的两种方法对比介绍
2014/03/30 Javascript
超级好用的jQuery圆角插件 Corner速成
2014/08/31 Javascript
node.js中watch机制详解
2014/11/17 Javascript
JavaScript中的条件判断语句使用详解
2015/06/03 Javascript
JavaScript AOP编程实例
2015/06/16 Javascript
JS实现的5级联动Select下拉选择框实例
2015/08/17 Javascript
基于javascript实现tab切换特效
2016/03/29 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
jQuery中的each()详细介绍(推荐)
2016/05/25 Javascript
JS获取鼠标选中的文字
2016/08/10 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
bootstrap table支持高度百分比的实例代码
2018/02/28 Javascript
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
JavaScript Array对象基本方法详解
2019/09/03 Javascript
vue 使用外部JS与调用原生API操作示例
2019/12/02 Javascript
Python实现简单拆分PDF文件的方法
2015/07/30 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
详解爬虫被封的问题
2019/04/23 Python
python识别图像并提取文字的实现方法
2019/06/28 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
Python获取二维数组的行列数的2种方法
2020/02/11 Python
Python3 Click模块的使用方法详解
2020/02/12 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
药学专业大学生自荐信
2013/09/28 职场文书
教育实习生的自我评价分享
2013/11/21 职场文书
企业门卫岗位职责
2013/12/12 职场文书
经典的毕业生自荐信范文
2014/04/14 职场文书
乡镇精神文明建设汇报材料
2014/08/15 职场文书
2014年施工员工作总结
2014/11/18 职场文书
靠谱准确的求职信
2019/04/02 职场文书