php dz分页类
<?php /*** 分页类 20080505 ***/ require_once('mysql.php');//mysql.php文件在上一篇日志 class page{ private $url; private $pagesize; private $sql; private $getpage; //参数:sql语句,每页记录数,传递链接(例如"index.php?"或者"index.php?sort=1&"等) function __construct($sql,$pagesize,$url) { $this->url = $url; $this->pagesize = $pagesize; $this->sql = $sql; $this->getpage = $_GET["page"]; if(!$this->getpage) { $this->getpage=1; } } //取记录总数 function getcount() { return mysql_num_rows(mysql_query($this->sql)); } //格式化sql语句 function pagesql() { $nowpage = $this->getpage; $limitNumber= $this->pagesize; if($nowpage<1) { $nowpage=1; } return $this->sql." limit ".($nowpage-1)*$limitNumber.",".$limitNumber; } //显示分页,参数:显示数字链接个数,开始步进的页 function show($page = 5,$offset = 2){ $mpurl = $this->url; $curr_page = $this->getpage; $perpage = $this->pagesize; $num=$this->getcount();//总记录数 $multipage = ""; if ($num > $perpage){ $pages = ceil($num / $perpage); $from = $curr_page - $offset; $to = $curr_page + $page - $offset - 1; if ($page > $pages){ $from = 1; $to = $pages; }else{ if ($from < 1){ $to = $curr_page + 1-$from; $from = 1; if (($to - $from) < $page && ($to - $from) < $pages){ $to = $page; } }elseif ($to > $pages){ $from = $curr_page - $pages + $to; $to = $pages; if (($to - $from) < $page && ($to - $from) < $pages){ $from = $pages - $page + 1; } } } $multipage .=" <script language=\"javascript\"> function gotoPage(value) { value = parseInt(value); if(isNaN(value)) value = 0; if(value<1) value = 1; if(value>".$pages.") value = ".$pages."; window.location.href = \"".$mpurl."page=\"+value; } </script>"; $multipage .= "<div class=\"p_bar\">"; $multipage .= "<a class=\"p_total\"> ".$num." </a>\n"; $multipage .= "<a class=\"p_pages\"> ".$curr_page."/".$pages." </a>\n"; if ($curr_page - $offset > 1){ $multipage .= "<a class=\"p_redirect\" href=\"".$mpurl."page=1\" title='首页'>«</a>\n"; } for ($i = $from; $i <= $to; $i++){ if ($i != $curr_page){ $multipage .= "<a class=\"p_num\" href=\"".$mpurl."page=".$i."\" title='第".$i."页'>".$i."</a>\n"; }else{ $multipage .= "<a class=\"p_curpage\">".$i."</a>\n"; } } if ($curr_page + $offset < $pages){ $multipage .= "<a class=\"p_redirect\" href=\"".$mpurl."page=$pages\" title='尾页'>»</a>\n"; } $multipage .= "<input class=\"p_input\" title=\"输入页数,按回车跳转\" name=\"pageGo\" id=\"pageGo\" onKeydown=\"if(event.keyCode == 13) {gotoPage(this.value);return false;}\">\n"; //$multipage .= "<a class=\"p_total\">".$perpage."条/页</a>\n"; $multipage .= "</div>"; } return $multipage; } }
文章地址:http://www.phprm.com/code/1e510ea5d7ac54b6f85fbb280ba02de1.html
转载随意^^请带上本文地址!