急!求一个好看实用的PHP+JS分页!效果类似百度!
效果如下:
1 2 3 4 5 6 7 8 9 10 下一页 共有?页
当不是第一页的时候,显示如下:
上一页 1 2 3 4 5 6 7 8 9 10 下一页 共有 ?页
其中,用“另一种颜色标记出当前显示的是哪一页”
该分页代码能跟MYSQL数据库连接使用,实现像百度的分页效果!
小弟是新手,都吧知道如何下手,请各位大哥帮帮忙!谢谢!
------解决方案--------------------
- PHP code
function _setPage($baseUrl, $total, $start, $limit, $parm=""){ if($total != 0) $pages = $total/$limit; else $pages = 0; if(empty($start)) $start=0; if(empty($limit)) $limit=20; if($start>$total)$start=$total-$limit; if($start<0) $start=0; if($limit<0) $limit=0; if($limit>100) $limit=100; //$start = $start - $top; $showpage = 10; $currentpage=$start/$limit; if($currentpage<5){ $pageno=0; $i=0; } else{ if($currentpage+10 > $total/$limit ){ $pageno=$currentpage -5; }else{ $pageno=$currentpage - 5; } $i=$pageno*$limit; } if($total==0) $currentpage = -1; $strPage = "总[" . ($currentpage + 1) . "/" . ceil($pages) . "]页 "; $page=0; $strPage .= ""; if($start/$limit > $showpage) { $tmp = ($pageno - 1)* $limit; $strPage.= "<a href='$baseUrl&$parm&start=".($tmp)."&limit=$limit'><<</a>"; } while($i < $total) { if($start/$limit ==$pageno) { $strPage .= "<font color=red>". ($pageno + 1) ." </font>"; } else { $strPage .= "<a href='$baseUrl&$parm&start=".($pageno*$limit)."&limit=$limit'>".($pageno + 1)."</a> "; } $pageno++; $page++; $i+=$limit; if($page > $showpage) { $strPage.= "<a href='$baseUrl&$parm&start=".($pageno*$limit)."&limit=$limit'>>></a>"; break; } } if($start>0){ $strPage .= " <a href='$baseUrl?$parm&start=0&limit=$limit'>首页</a> "; }else{ $strPage .= " 首页 "; } if($start>0){ $strPage .= " <a href='$baseUrl&$parm&start=".($start-$limit)."&limit=$limit'>上一页</a> "; } if($start+$limit< $total){ $strPage .= " <a href='$baseUrl&$parm&start=".($start+$limit)."&limit=$limit' >下一页</a> "; } if($start+$limit< $total){ $strPage .= " <a href='$baseUrl&$parm&start=".($total- $total%$limit)."&limit=$limit'>尾页</a> "; }else{ $strPage .= " 尾页 "; } return $strPage;}
------解决方案--------------------
为什么要JS的?
------解决方案--------------------
$baseUrl为页面基本的url,比如说index.php?m=table&a=list
$total为你要分页的记录的总数,用来计算有多少页的.
$start为当前页开始的记录条数.
$limit为每页显示的条数,这个可以定为常量.
$parm为额外的参数,比如说你在$baseUrl的基础上又添加了一个search='news'的话,可以在这里添加,以便追加到url里.
------解决方案--------------------
学习。