这是本人写的PHP小程序但缺分页不知道哪位PHP高手可以给小弟补上一下谢谢
以下是程序<?
//----基本设定----

$mysql_server_name = "localhost";
$mysql_username    = "root";
$mysql_password    = "11111";
$mysql_datebase    = "lane";
$sql = "SELECT id , name , sex , email , info , ip , date_format(time_at,'%y年%m月%d日%r')   FROM `gbook` order by id desc";

$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password);
$result=mysql_db_query($mysql_datebase,$sql,$conn);
while($row=mysql_fetch_row($result))
{
//print_r($row);
if($row[2]==1)
{
$gender='大野狼';
}
else
{
$gender='小红帽';

}
?>
<table cellspacing="0" cellpadding="6" width="100%" border="1">
<tbody>
<tr>
<td bgcolor="#ccffff">
<font color="ff0000">(<?=$row[0]?>)<?=$row[6]?></font>
<font color="#008000"><b>(<?=$row[5]?>)</b></font>
<br>
<font color="#ff6600"><b><?=$row[1]?></b></font>
<font color="blue"><?=$gender?><a href="mailto:<?=$row[3]?>"><?=$row[3]?></a></font></td>
</tr>
<tr>
<td bgcolor="#ffffdf"><font color="#000000"><?=nl2br($row[4])?></font><p>[<a href="del.php?id=<?=$row[0]?>">删除</a>][<a href="modify.php?id=<?=$row[0]?>">修改</a>]</p></td>
</tr></tbody>
</table>
<hr>
<?
}
mysql_free_result($result);?>

解决方案 »

  1.   

    这样可不好的话。记录少了还好说,记录要是达到。几十W,几百W,几QW的时候那就不好了。到时候虽然也有个条件进行查,但难保也会查出个几十W条的呀。你这样一下子把记录都查出来了。然后反正到程序,程序进行统计记录数在每一次以几条的形式显示出来。那还有别的啦就不要啦。这样就不好了。就和楼上说的用limit得出几条来。当然你在去统计的时候在去统计一下嘛。但这样就有二次查数据库了,但速度比你上面的一定快。select count(id) from aa where ...第一步查出必要的几条记录(分页所需的)
    第二统计记录数合条件的有多少。哈哈。
      

  2.   

    在这里可以搜索一下“分页”。会有很多答案的。
    include("adodb/adodb.inc.php");
    include("adodb/tohtml.inc.php");<?phpclass page{
    var $conn;
    var $rs;
    var $sql;
    var $numPage;//每一页显示多少个记录
    var $currPage;//当前页

    function __construct($conn,$sql,$numPage,$currPage){
    $this->conn=$conn;
    $this->sql=$sql;
    $this->numPage=$numPage;
    $this->currPage=$currPage;
    }
    function getRecordSet(){
    $this->rs=$this->conn->PageExecute($this->sql, $this->numPage, $this->currPage);
    return $this->rs;
    }
    function showBar(){
    $rs=$this->getRecordSet();
    $tempStr="";
    if (!$rs->EOF && (!$rs->AtFirstPage() || !$rs->AtLastPage())) {
            if (!$rs->AtFirstPage()) {
             $tempStr.="<a href=";
             $tempStr.=$_SERVER['PHP_SELF']."?page=";
             $tempStr.=$rs->AbsolutePage() - 1 .">Previous  page</a>";
            }
            if (!$rs->AtLastPage()) {
             $tempStr.="<a href=";
             $tempStr.=$_SERVER['PHP_SELF']."?page=";
             $tempStr.=$rs->AbsolutePage() + 1 .">Next page</a>";
            } }
    return $tempStr; }
    }
    if (isset($_GET['page'])) $curr_page = ($_GET['page']);
    $pageObj=new page(getConn(),"select id,userName from userdb",1,$curr_page);
    $rs=$pageObj->getRecordSet();
    rs2html($rs,'border=1 cellpadding=3',array('操作','用户名'));
    print $pageObj->showBar();
    ?>