20,359
社区成员
发帖
与我相关
我的任务
分享
<?php
class p_data{
var $linkis = array(
"host" => "localhost",
"user" => "root",
"pass" => "",
"database" => "test"
),$conn,$CurrentPage = 1,$PageSize = 10,$TotalPage = 0;
function query($queryStr,$RowsNum=false){
$this->conn = $conn = @mysql_connect($this->linkis[host],$this->linkis[user],$this->linkis[pass]) or die("Could not connect to database host");
@MySQL_select_db($this->linkis[database],$conn) or die("Could not connect to database");
$QueryStr = $queryStr;
$QueryStr = preg_replace("/^select \[(.+?)\]/eis","'select count(1)'",$QueryStr);
$QueryStr = MySQL_query($QueryStr) or die("Could not query database");
$cRowsNum = mysql_fetch_row($QueryStr);
$cRowsNum = $cRowsNum[0];
if($cRowsNum){
if($RowsNum){
$PageSize = $this->PageSize;
$TotalPage = $cRowsNum?(($cRowsNum<$PageSize)?1:(($cRowsNum%$PageSize)?(int)($cRowsNum/$PageSize)+1:$cRowsNum/$PageSize)):0;
$CurrentPage = ($this->CurrentPage<1?1:($this->CurrentPage>$TotalPage?$TotalPage:$this->CurrentPage));
$offset = ($CurrentPage-1)*$PageSize;
$queryStr = "$queryStr limit $offset,$PageSize";
$this->CurrentPage = $CurrentPage;
$this->TotalPage = $TotalPage;
}
$queryStr = preg_replace("/^select \[(.+?)\]/eis","'select \\1'",$queryStr);
$res = MySQL_query($queryStr);
while($row = mysql_fetch_array($res)){
$rowset[] = $row;
}
}else{
$rowset = array();
}
return $rowset;
}
function close(){
MySQL_close($this->conn);
}
function showpage(){
$CurrentPage = $this->CurrentPage; //当前页
$TotalPage = $this->TotalPage; //总页数
$PageSize = $this->PageSize; //每页显示
if($CurrentPage<6){
$PageLong = 11 - $CurrentPage;
}else{
$Tcpage = $TotalPage-$CurrentPage;
if($Tcpage<6){
$PageLong = 11 - $Tcpage;
}else{
$PageLong = 5;
}
}
$output = "";
$TxPage = $CurrentPage-1;
$output .= ($CurrentPage>1?"<a href='?page=$TxPage'>上一页</a> ":"<a href='#'>上一页</a> ");
$output .= "分页: ";
for($i=1;$i<=$TotalPage;$i++){
if(($i<($CurrentPage+$PageLong)) && ($i>($CurrentPage-$PageLong))){
$output .= ($CurrentPage==$i?"<b>$i</b> ":"<a href='?page=$i'>$i</a> ");
}
}
$TxPage = $CurrentPage+1;
$output .= ($CurrentPage<$TotalPage?"<a href='?page=$TxPage'>下一页</a>":"<a href='#'>下一页</a>");
$this->close();
return $output;
}
}
$db = new p_data;
$db->CurrentPage = $_GET["page"]; //当前页
$db->PageSize = 10; //每页显示
$result = $db->query("SELECT - FROM `a`",true
- );
foreach($result as $row){
echo $row['id'] . " " . $row['name'];
echo "<br />";
}
echo $db->showpage();
?>