标题:使用面向对象来写的分页[希望大家能给点意见]
只看楼主
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
结帖率:78.99%
 问题点数:0 回复次数:3 
使用面向对象来写的分页[希望大家能给点意见]
DBHelper.php

-----------------------------------------------------------------------

<?php
//定义一个链接类
class Connection
{
 public $strConn="";
 public function Conn() //链接数据库方法
 {
  $this->strConn=mysql_connect("localhost","root","123");
  mysql_select_db("db_database19",$this->strConn);
  mysql_query("set names GB2312");
 }
}
?>

 

index.php

------------------------------------------------------------------------

<?php
include 'DBHelper.php'; //调用数据库连接类包
 
class page //定义分页类
{
 public function ChangePage($myPage) //定义一个分页方法,当前页数的形参$myPage
 {
  $conn=new Connection();
  $conn->Conn();
  //调用数据库连接类
  
  $page=$myPage;
  if(is_numeric($page))
  {
   $offerPage=($page-1)*4; //判断当前页从第几条数据开始读取
   $sql=mysql_query("select bigclass from tb_object limit $offerPage,4",$conn->strConn);
   $row=mysql_fetch_object($sql);
   do {
    echo $row->bigclass."<br/>";
   }while ($row=mysql_fetch_object($sql));
  }
  mysql_free_result($sql);
  mysql_close($conn->strConn);
 }
}
 
if ($_GET['page']!="")
{
 $p=new page();
 $p->ChangePage($_GET['page']);
}
else //初始化页面的数据,首页显示四行数据
{
 $p=new page();
 $p->ChangePage(1);
}
?>
<?php echo "<br/><br/>"; ?>
<?php
class PageSum
{  
 public function DataCount()
 {
  $conn=new Connection();
  $conn->Conn();
  //调用数据库连接类
  
  $sqlQuery=mysql_query("select * from tb_object",$conn->strConn);
  $sum=mysql_num_rows($sqlQuery); //统计当前表中有几行数据
  mysql_close($conn->strConn);
  return $this->countPages=ceil($sum/4); //返回一个整数,计算需要多少页来容纳当前表中数据
 }
}

$p2=new PageSum();
$count=$p2->DataCount();
//使用for循环,输出超级链接
for ($i = 1; $i <= $count; $i++) {
 echo "<a href=index.php?page=".$i.">第 $i 页</a> ";
}
?>

搜索更多相关主题的帖子: 面向对象 意见 
2010-05-29 16:45
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
得分:0 
yeah
2010-05-29 16:45
cnenc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:35
帖 子:2913
专家分:514
注 册:2007-1-29
得分:0 
  $sqlQuery=mysql_query("select * from tb_object",$conn->strConn);
  $sum=mysql_num_rows($sqlQuery); //统计当前表中有几行数据


如果你的表中有几百万行记录怎么办??

SELECT count(*) AS `num` FROM `tb_object`;

...
尽量保持良好的书写习惯.
2010-05-29 17:36
czg123698741
Rank: 2
等 级:论坛游民
帖 子:348
专家分:84
注 册:2009-3-4
得分:0 
回复 3楼 cnenc
O(∩_∩)O谢谢
2010-05-29 19:49



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-308629-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.382078 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved