<?php class SepPage{ var $db; //pdo实例 var $sqlStr; //数据库查询语句 var $nowPg; //当前页 var $pageSize; //每页显示的记录数
function ShowPage($db, $sqlStr, $pageSize, $nowPg){ $this->db = $db; $this->sqlStr = $sqlStr; $this->pageSize = $pageSize; if (!isset($nowPg) || ($nowPg == '') || ($nowPg == 0)){ $nowPg = 1; } $this->nowPg = $nowPg; $start = $pageSize * ($nowPg - 1); $sqlStr .= " limit ".$start." , ".$pageSize; $rst = $db->query($sqlStr); if ($db->errorCode() != '00000'){ print_r($db->errorInfo()); exit(); } $rstArr = $rst->fetchAll(); return $rstArr; }
function PageNav($name, $unit, $class){ $rst = $this->db->query($this->sqlStr); if ($this->db->errorCode() != '00000'){ print_r($this->db->errorInfo()); exit(); } $rstArr = $rst->fetchAll(); $recordCount = count($rstArr); //总的记录数 $lastPg = ceil($recordCount/$this->pageSize); //尾页,即总的页数 $lastPg = $lastPg ? $lastPg : 1; //没有显示条目,置最后页为1 $prePg = $this->nowPg - 1; $nextPg = (($this->nowPg == $lastPg) ? 0 : ($this->nowPg + 1));
if ($lastPg <= 1){ return false; }
$str = "共有".$name." ".$recordCount." ".$unit.",每页显示 ".$this->pageSize." ".$unit; $str .= ",第<select name='toPg' onchange='window.location=\"?page=\"+this.value'>\n"; for ($i=1; $i<=$lastPg; $i++){ if ($i == $this->nowPg){ $str .= "<option value='$i' selected>$i</option>\n"; }else{ $str .= "<option value='$i'>$i</option>\n"; } } $str .= "</select>页/共 ".$lastPg." 页";
$str .= " ";
if ($prePg){ $str .= "<a href=".$_SERVER['PHP_SELF']."?page=1"." class=".$class.">首页</a>"; $str .= " "; $str .= "<a href=".$_SERVER['PHP_SELF']."?page=".$prePg." class=".$class.">上一页</a>"; $str .= " "; }else{ $str .= "首页"; $str .= " "; $str .= "上一页"; $str .= " "; }
if ($nextPg){ $str .= "<a href=".$_SERVER['PHP_SELF']."?page=".$nextPg." class=".$class.">下一页</a>"; $str .= " "; $str .= "<a href=".$_SERVER['PHP_SELF']."?page=".$lastPg." class=".$class.">尾页</a>"; $str .= " "; }else{ $str .= "下一页"; $str .= " "; $str .= "尾页"; $str .= " "; } return $str; } } ?>
PDO:
$dsn = 'mysql:host=localhost;dbname=db_wym'; $user = 'root'; $pwd = 'root'; try{ $db = new PDO($dsn, $user, $pwd, array(PDO::ATTR_PERSISTENT => true)); $db->exec('set names utf8'); }catch (PDOException $e){ echo "Error message:".$e->getMessage(); die(); }
|
请发表评论