Mervin.G
dongyue91
全部博文(76)
2013年(2)
2010年(21)
2009年(53)
一牛科技
浪花小雨
拉孟
vekin
sword_11
chengxuy
hiyachen
jiangnan
itfly3
分类:
2010-08-27 10:38:35
<?PHP class page { private $text = array( 'txt_next_page' => '下页', 'txt_previous_page' => '上页', 'txt_start' => '首页', 'txt_end' => '尾页', ); private $button_num; private $mDataNum; private $mButtonLink; public function __construct() { $this -> setButton(20); $this -> setDataNum(30); } public function getDataBegin() { return intval($_GET['page']) * $this -> mDataNum; } /** * 页码范围 : 正整数 * @param : int $sum * @return : string $fy (like: 1 2 3 4 5) */ public function getPageButton($sum)//总记录数,每页显示条数,页面地址,URL参数页码 { $page = & intval($_GET["page"]); $paginal = & $this -> mDataNum; $linkpage = & $this -> mButtonLink; if($paginal!=0) { //如果每页只显示0条就只显示首页 $ys = ceil($sum/$paginal); //计算总页数 $fy = $page!=0 ? ' .$linkpage.'&page=0" >'.$this -> text['txt_start'].' ' : $this -> text['txt_start']; $start = $page<=$this->button_num ? 1 : $page+1-$this->button_num; //循环开始点 $end = $ys<=($page+$this->button_num) ? $page+($ys-$page) : ($page+$this->button_num); //循环结束点 for($i=$start;$i<=$end;$i++) { $fy .= $$i-1) ? ' .$linkpage.'&page='.($i-1).'" >'.$i.' ' : ' '.$i.' '; } $fy .= $$ys-1) ? ' .$linkpage.'&page='.($ys-1).'" >'.$this -> text['txt_end'].' ' : $this -> text['txt_end']; } else { $fy = $page!=0 ? ' .$linkpage.'&page=0" >'.$this -> text['txt_start'].' ' : $this -> text['txt_start']; $fy .= $$ys-1) ? ' .$linkpage.'&page='.($ys-1).'" >'.$this -> text['txt_end'].' ' : $this -> text['txt_end']; } return $fy; } /** * 页码范围 : 正整数 * @param : int $rPageButton * @return : no return */ public function setButton($rPageButton) { $this -> button_num = ceil($rPageButton/2); } public function setButtonLink($rButtonLink) { $this -> mButtonLink = $rButtonLink; } /** * 设置每页数据数量 : 正整数 * @param : int $rDataNum */ public function setDataNum($rDataNum) { $this -> mDataNum = $rDataNum; } /** * 获取每页数据数量 : 正整数 * @return : int mDataNum */ public function getDataNum() { return $this -> mDataNum; } } ?>
$this -> mPageHD = MG::__new('page');
$this -> mPageHD -> setButtonLink($this -> mSiteUrl."index&eve=mail_extend&sysp=listor"); //获取数据 //$this -> mPageHD -> getDataBegin().','.$this -> mPageHD -> getDataNum()相当于LIMIT 0,20 中的 0,20 $data = MGTools::getDataList($syspage, $this -> mPageHD -> getDataBegin().','.$this -> mPageHD -> getDataNum(), ''); $fy = $this -> mPageHD -> getPageButton(MGTools::getDataCount($syspage, ''));//数据总数
上一篇:mysql limit查询优化
下一篇:apache的工作方式及优化
登录 注册