php与mysql完成的分页类(自家用)
2005-05-31 09:30
302 查看
这个分页是上次发的java分页的基础,我是在php的基础上,完成的其他的分页,思想基本一样,把此函数改造后,才能适应真正的使用,样式的控制在do-while这个函数上
class page
{
var $user="root";
var $passwd="";
var $host="127.0.0.1";
var $port="3306";
var $dbname="soohuo";
//var $server=$this->host.":".$this->port;
var $page_num=30;//每页显示的条数
var $con;//库连接成功句柄
var $result;//查询成功句柄
var $page_sum;//总共的页数
function page($sql,$url)
{
$this->db_connect();
$this->get_page_sum($sql);
if(!isset($_GET["page"])||$_GET["page"]==0)
$page=1;
else
$page=$_GET["page"];
$url=$url."?page=";
$foot="";
if($page>1)
$foot=$foot."上一页 ";
$foot=$foot."当前是第$page 页";
if($this->page_sum>1&&$page<$this->page_sum)
$foot=$foot." 下一页";
if($this->page_sum>1)
{
$foot=$foot." 跳到第 /n";
for($i=1;$i<=$this->page_sum;$i++)
{
if($i==$page)
$foot.="$i/n";
else
$foot.="$i/n";
}
$foot.=" 页";
}
$foot.=" ";
$start=($page-1)*$this->page_num;
$end=$this->page_num;
$sql1=$sql." limit $start,$end";
$this->db_query($sql1);
$this->get_page_head($sql);//page head
$this->db_while();//page body
echo $foot;//page end
}
function db_while()
{
$result=$this->result;
echo "ID号 标题 错误原因 ";
while($row=mysql_fetch_array($result))
{
if($row["up_oracle"]==2)
{
$error="存在重复";
}
if($row["up_oracle"]==3)
{
$error="插入没成功";
}
echo "".$row["data_id"]." ".$row
["title"]." ".$error." ";
}
mysql_free_result($result);
}
function get_page_sum($sql)
{
$row_num=mysql_num_rows(mysql_query($sql));
$page_sum=ceil($row_num/$this->page_num);
$this->page_sum=$page_sum;
}
function get_page_head($sql)
{
$row_num=mysql_num_rows(mysql_query($sql));
if($row_num==0)
{
$head="没有您要查找的记录";
echo "
";
exit();
}
$page_sum=ceil($row_num/$this->page_num);
$head="共有记录 $row_num 条 共 $page_sum 页";
echo "
class page
{
var $user="root";
var $passwd="";
var $host="127.0.0.1";
var $port="3306";
var $dbname="soohuo";
//var $server=$this->host.":".$this->port;
var $page_num=30;//每页显示的条数
var $con;//库连接成功句柄
var $result;//查询成功句柄
var $page_sum;//总共的页数
function page($sql,$url)
{
$this->db_connect();
$this->get_page_sum($sql);
if(!isset($_GET["page"])||$_GET["page"]==0)
$page=1;
else
$page=$_GET["page"];
$url=$url."?page=";
$foot="
if($page>1)
$foot=$foot."上一页 ";
$foot=$foot."当前是第$page 页";
if($this->page_sum>1&&$page<$this->page_sum)
$foot=$foot." 下一页";
if($this->page_sum>1)
{
$foot=$foot." 跳到第 /n";
for($i=1;$i<=$this->page_sum;$i++)
{
if($i==$page)
$foot.="$i/n";
else
$foot.="$i/n";
}
$foot.=" 页";
}
$foot.="
$start=($page-1)*$this->page_num;
$end=$this->page_num;
$sql1=$sql." limit $start,$end";
$this->db_query($sql1);
$this->get_page_head($sql);//page head
$this->db_while();//page body
echo $foot;//page end
}
function db_while()
{
$result=$this->result;
echo "
while($row=mysql_fetch_array($result))
{
if($row["up_oracle"]==2)
{
$error="存在重复";
}
if($row["up_oracle"]==3)
{
$error="插入没成功";
}
echo "
["title"]."
}
mysql_free_result($result);
}
function get_page_sum($sql)
{
$row_num=mysql_num_rows(mysql_query($sql));
$page_sum=ceil($row_num/$this->page_num);
$this->page_sum=$page_sum;
}
function get_page_head($sql)
{
$row_num=mysql_num_rows(mysql_query($sql));
if($row_num==0)
{
$head="没有您要查找的记录";
echo "
$head |
exit();
}
$page_sum=ceil($row_num/$this->page_num);
$head="共有记录 $row_num 条 共 $page_sum 页";
echo "
$head |