php+mysql 分页添加

我的数据库显示在页面是这样

因为数据太多了谁能帮我做个分页 下方为原码 可以的话请直接帮我添加
mysql_select_db("usersall", $conn);
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conn);

$sql = "SELECT * FROM db_punish_logs order by timestamp desc ";
$result = mysql_query($sql);

echo "<table border=1>";
while($row = mysql_fetch_array($result))
{
$steam_id=$row['steam_id'];
$timestamp=$row['timestamp'];
$reason=$row['reason'];
$details=$row['details'];
echo "<tr>";
echo "<td>$steam_id</td>";
echo "<td>$timestamp/td>";
echo "<td>$reason</td>";
echo "<td>$details</td>";
echo "</tr>";
}
echo "<table />";
?>
</div>

/** 
    * @todo 分页 
    * @param $count 总条数 
    * @param $pagesize 每页显示条数 
    * @param $nowpagenum 当前页码 
    * @return String HTML  
    * @example 
    * $count = 45; //数据库查询到的数据总数 
      $pagesize = 10; //每页展示的条数 
      $nowpagenum = isset($_REQUEST['page']) ? $_REQUEST['page'] : 1 ; //获取当前的页码,默认没有的时候为1 
      $page =  $this->PageNum($count, $pagesize ,$nowpagenum); 
    *  
    */  
   public function PageNum($count , $pagesize , $nowpagenum){  
       //计算页码  
       $pagenum = ceil(($count/$pagesize));  
       /***设定当前页在第一页当时无GET页码时默认为1***/  
       $nowpagenum = empty($nowpagenum) ? 1 : $nowpagenum;  
       /*****解析URL******/  
       $url = $_SERVER['REQUEST_URI'];  
       $urlArr = explode('?', $url);  
       if(count($urlArr)==1){  
           $newurl = $url.'?page=';  
       }else{  
           $params = array();  
           $newurl = '';  
           $newParams = array();  
           $paramsArr = explode('&', $urlArr[1]);  
           if(count($paramsArr)==1){  
               $getParams = explode('=', $paramsArr[0]);  
               $params[$getParams[0]] = $getParams[1];  
               $newurl = $urlArr[0].'?page=';  
           }else{  
               for($j=0;$j<count($paramsArr);$j++){  
                   $getParams = explode('=', $paramsArr[$j]);  
                   $params[$getParams[0]] = $getParams[1];  
               }  
               if(isset($params['page'])){  
                   unset($params['page']);  
                   foreach($params as $key=>$value){  
                       $newParams[] = $key.'='.$value;  
                   }  
                   $newurl = $urlArr[0].'?'.implode('&', $newParams).'&page=';  
               }else{  
                   foreach($params as $key=>$value){  
                       $newParams[] = $key.'='.$value;  
                   }  
                   $newurl = $urlArr[0].'?'.implode('&', $newParams).'&page=';  
               }  
           }  
       }  
       /****拼装页码显示HTML代码****/  
       $html='';  
       if(isset($count) && isset($pagesize)){  
           //one page   
           if($count <= $pagesize){  
               $html = '<span>上一页</span><span>1</span><span>下一页</span>';  
           //no record  
           }else if($count == 0){  
               $html = '暂未记录!';  
           //大于一页小于等于6页  
           }else if($count > $pagesize && $pagenum <= 6){  
               if($nowpagenum==1){  
                   $html .= '<span>上一页</span>';   
               }else{  
                   $html .= '<span><a href="'.$newurl.''.($nowpagenum-1).'">上一页</a></span>';   
               }  
               for($i=1;$i<=$pagenum;$i++){  
                   if($i==$nowpagenum){  
                       $html .= '<span>'.$i.'</span>';  
                   }else{  
                       $html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';  
                   }  
               }  
               if($nowpagenum==$pagenum){  
                   $html .= '<span>下一页</span>';   
               }else{  
                   $html .= '<span><a href="'.$newurl.''.($nowpagenum+1).'">下一页</a></span>';   
               }  
           }else{  
               if($nowpagenum==1){  
                   $html .= '<span>上一页</span>';   
               }else{  
                   $html .= '<span><a href="'.$newurl.''.($nowpagenum-1).'">上一页</a></span>';   
               }  
               if(($pagenum-$nowpagenum)>5){  
                   if($nowpagenum<=3){  
                       for($i=1;$i<=3;$i++){  
                           if($i==$nowpagenum){  
                               $html .= '<span>'.$i.'</span>';  
                           }else{  
                               $html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';  
                           }  
                       }  
                   }else{  
                       for($i=$nowpagenum-2;$i<=$nowpagenum;$i++){  
                           if($i==$nowpagenum){  
                               $html .= '<span>'.$i.'</span>';  
                           }else{  
                               $html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';  
                           }  
                       }  
                   }  
                   $html .= '<span>...</span>';  
                   for($j=$pagenum-2;$j<=$pagenum;$j++){  
                       if($j==$nowpagenum){  
                           $html .= '<span>'.$j.'</span>';  
                       }else{  
                           $html .= '<span><a href="'.$newurl.''.$j.'">'.$j.'</a></span>';  
                       }  
                   }  
               }else{  
                   for($i=$pagenum-5;$i<=$pagenum;$i++){  
                       if($i==$nowpagenum){  
                           $html .= '<span>'.$i.'</span>';  
                       }else{  
                           $html .= '<span><a href="'.$newurl.''.$i.'">'.$i.'</a></span>';  
                       }  
                   }  
               }  
               if($nowpagenum==$pagenum){  
                   $html .= '<span>下一页</span>';   
               }else{  
                   $html .= '<span><a href="'.$newurl.''.($nowpagenum+1).'">下一页</a></span>';   
               }  
           }  
       }  
       return $html;  
   }

这个是一个简易的分页方法,参考后更改下你的limit后面的属性值就可以达到分页效果了。

追问

limit 的属性值在哪 .. 我是一个php超级新手

追答$sql = "SELECT * FROM db_punish_logs order by timestamp desc ";

SQL语句里面自己加。

追问

我LIMIT成功了 可是贴上你的语法..

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网