`
bingxingke2
  • 浏览: 39963 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
文章分类
社区版块
存档分类
最新评论

自己写的一个php分页程序,欢迎大家批评

阅读更多
一个简单是php分页函数,没有什么特色,大家给点意见吧


<?php
function page($sql,$url,$onceRows = 8,$b = true,$add = “?”){
  global $db;
   /* 分页程序初始化 */
  if (!isset($_GET['pageNum']) || $_GET['pageNum'] == 0) {
   $pageNum = 1;
  } else {
   $pageNum = $_GET['pageNum'];
  }
  /////设置一次读取行数,算出需要的页面数/////
  $startRow = ($pageNum – 1) * $onceRows;
 
  if(!$b){                 //根据$b的值返回的是分页还是查询结果
   $lists = $db -> query($sql.” LIMIT “.$startRow.”,”.$onceRows);
 
   $arr = array();
  
   while($list = $lists -> fetch(PDO::FETCH_ASSOC)){
    $arr[] = $list;
   }
   return $arr;
  }else{
   $res = $db -> query($sql);
  
   $rows = $res -> rowCount();
   if (is_float($rows / $onceRows)) {
    $pageSum = intval($rows / $onceRows) + 1;
   } else {
    $pageSum = $rows / $onceRows; 
   }
  
   $haspre = false;   //是否有上一页
  
   $hasnext = false; //是否有下一页
  
   /////处理各种情况下的上一页,下一页/////
   switch ($pageNum) {
    case 1:
     $backPage = 1;
     if (($pageNum + 1) > $pageSum) {
      $nextPage = $pageSum;
     } else {
      $nextPage = $pageNum + 1;
      $hasnext = true;  
     }
     break;
    case $pageSum:
     $backPage = $pageNum – 1;
     $nextPage = $pageSum;
     $haspre = true;
     break;    
    default:
     $backPage = $pageNum – 1;
     $nextPage = $pageNum + 1;
     $haspre = true;
     $hasnext = true;
   }
  
   $str = “<center>”;
   /////动态生成页码部分/////
   if($res -> rowCount() > 0){
   
   $str .= ‘<div id=”pageNum”>’;
  
   if($pageNum != 1){
    $str .= ‘<a style=”margin-right:5px;” href=”‘.$url.$add.’pageNum=1″>首页</a>’;
   }
   if($haspre){
    $str .= ‘<a href=”‘.$url.$add.’pageNum=’.$backPage.’”>上一页</a>’;
   }
   for ($i = 1;$i <= $pageSum;$i ++ ) {
    $str .= ‘<a style=”margin-left:5px;’;
    if ($i == $pageNum) {
     $str .= ‘color:red;’;
    }
    $str .= ‘” href=”‘.$url.$add.’pageNum=’.$i.’”>’.$i.’</a>’;
   }
   if($hasnext){
    $str .= ‘<a style=”margin-left:5px;” href=”‘.$url.$add.’pageNum=’.$nextPage.’”>下一页</a>’;
   }
   if($pageNum != $pageSum){
    $str .= ‘<a style=”margin-left:5px;” href=”‘.$url.$add.’pageNum=’.$pageSum.’”>最后一页</a>’;
   }
    $str .= ‘</div>’;
   }
  
   $str .= “</center>”;
  
   return $str;
  }
}
?>


更多实用程序:http://www.52blogger.com/archives/106
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics