分页啊,上面写错了,是要一页显示五行记录。help

解决方案 »

  1.   

    用这个mysql_num_rows($result)获取记录总数
    就简单多了或者<?php
    $i=1;
      while ($data=mysql_fetch_array($sql) && $i<=5)  
    {   
    printf;
    $i++;
    ?>
      

  2.   

    SELECT name,age,address,tel,email FROM man LIMIT rec_from, rec_to
      

  3.   

    查询语句:SELECT name,age,address,tel,email FROM man limit $offset,$pagesize"
    $offset 是查询的起始记录
    $pagesize 是每页记录数 在你的代码里应该是5关键是怎么处理这个$offset
    我的方法是从URL中取页码(如page),根据页码来计算$offset
    if(!isset($_GET['page']))    
        $page=1;                //如果URL中不含有页码,则默认是第一页。
    else
        $page=$_GET['page'];           //取页码
    $offset=$pagesize*($page-1);       //计算起始记录
      

  4.   

    <br><html><head><title>PHP分页</title></head><body><?
    $gPageSize= 50; //每页显示的记录数$hostname = "localhost"; //mysql Server$dbuser = "root"; //用户名$dbpasswd = ""; //密码//连接数据库$id = mysql_connect($hostname,$dbuser,$dbpasswd) or die("无法连接数据库服务器!");//选择数据库$db = mysql_select_db("infodb",$id) or die("无法连接数据库!");$query = "select * from ipinfo";//执行查询语句$rresult = mysql_query($query) or die("无法执行SQL:$query");//$page变量标示当前显示的页if(!isset($page)) $page=1;if($page==0) $page=1;//得到当前查询到的纪录数 $nNumRowsif(($nNumRows= mysql_num_rows($rresult))<=0){echo "<p align=center>没有纪录";exit;};//得到最大页码数MaxPage$MaxPage = (int)ceil($nNumRows/$gPageSize);if((int)$page > $MaxPage)$page=$maxPage;?><table align="center" width="80%" border=0> <tr><td><? echo "<font size=2>第
    $page 页,共 $MaxPage 页</font>";?></td><td></td></tr></table><table align="center" width="80%" border="1" cellspacing="0" cellpadding="4" bordercolorlight="#CC9966" bgcolor="#00F2EE" bordercolordark="#FFFFFF" class="LZH"><tr bgcolor="#F7F2ff" style="font-size:14.8px;font-weight:bold"><?//显示表格头for($iCnt = 0; $iCnt < mysql_num_fields($rresult); $iCnt++){echo "<td>".mysql_field_name($rresult,$iCnt)."</td>" ;}?></tr><?//根据偏移量($page - 1)*$gPageSize,运用mysql_data_seek函数得到要显示的页面if( mysql_data_seek($rresult,($page-1)*$gPageSize) ){$i=0;//循环显示当前纪录集for($i;$i<$gPageSize;$i++){echo "<tr style=\"font-size:12px\">";//得到当前纪录,填充到数组$arr;$arr= mysql_fetch_row($rresult);if($arr){//循环显示当前纪录的所有字段值for($nOffSet = 0;$nOffSet < count($arr);$nOffSet++){echo "<td>".$arr[$nOffSet]."</td>";}}echo "</tr>";}}?></table><br><hr size=1 width=80%><div align=center style="font-size:12px"><?//首页和上一页的链接if( $nNumRows>1 && $page>1){$prevPage=$page-1;echo " <a href=$PHP_SELF?page=1>首页</a> ";echo " <a href=$PHP_SELF?page=$prevPage >上一页</a> ";}//下一页和末页的链接if( $page>=1 && $page<$MaxPage){$nextPage= $page+1;echo " <a href=$PHP_SELF?page=$nextPage >下一页</a> ";echo " <a href=$PHP_SELF?page=$MaxPage >末页</a> ";}?></div></body></html>
      

  5.   

    分页有两种处理方法,各有缺点。
    第一种直接select *,然后使用mysql_num_rows得到总数,使用mysql_data_seek移动光标
    第二种使用limit关键字,但是这个得不到总数,需要再select count(*)一下。
    具体来说,如果一页显示$pagesize条记录,当前是第$page页,则
    第一种$offset=($page-1)*$pagesize;
    第二种sql语句后面加上limit ($page-1)*$pagesize,$pagesize
    相信这样已经足够清楚了^_^