<?
class turnpage
{
var $pagesize;//设置每一页显示的记录数
//var $page;//页码标记例如user.php?page=1
//var $all;//总的记录数
//var $char;
//var display;这个变量以后改进
function mysql($server,$user,$pass,$db,$table,$sign)
{
$conn=mysql_connect($server,$user,$pass);
mysql_select_db($db);
if($sign==0)//$sign==0代表取数据库的总记录,$sign==1代表取数据库里面的内容
{
$res=mysql_query("select count(*) from ".$table,$conn);
$date=mysql_fetch_array($res);
$all=$date[0];
return $all;//总的记录数
}
elseif($sign==1)
{
$all=$this->mysql($server,$user,$pass,$db,$table,0);//函数的递归
$allpages=ceil($all/$this->pagesize);//总页数
if(isset($_GET['page']))
$page=$_GET['page'];
else
$page=1;
$offset=($page-1)*$this->pagesize;//偏移量
$query="select * from ".$table." limit ".$offset.",".$this->pagesize;//注意空格
//echo $query;
$res=mysql_query($query,$conn);
//$res=mysql_query("select * from hangye",$conn);
$num=mysql_num_fields($res);//取字段数
$j=0;
for($i=0;$i<$num;$i++)
{
$test=mysql_fetch_field($res,$i);
$field[$j]=$test->name;//取字段名
$j++;
}
$k=0;
while($date=mysql_fetch_array($res))
{
for($i=0;$i<$num;$i++)
{
$content[$i][$k]=$date[$field[$i]];//每个字段的记录,0代表第一个字段中所有的记录,以此来推
}
$k++;
}
echo"<table border=1 width=560>";
for($i=0;$i<$this->pagesize+1;$i++)
{
//修改echo $this->display;//用来展示表格输出的记录
echo "<tr><td>".$content[0][$i]."</td><td>".$content[1][$i]."</td></tr>";
}
echo "</table>";
echo "总共".$all."项,".$allpages."页";
if($allpages==1)
{
echo "<a href=$PHP_SELF?page=1>[1]</a>";
}
else
{
for($i=1;$i<$allpages+1;$i++)
{
echo "<a href=$PHP_SELF?page=$i>[$i]</a>";
}
}
}
mysql_free_result($res);
mysql_close($conn);
}
}
?>
应用分页类
<?
error_reporting("E_ERROR");
include("class/class_page.php");
$server="localhost";
$user="root";
$pass="";
$db="sq";
$table="hangye";
$turnpage=new turnpage;
$turnpage->pagesize=5;
$turnpage->mysql($server,$user,$pass,$db,$table,1);
?>