$query = "SELECT time,body,id FROM book";
$rresult = mysql_query($query) or die("无法执行SQL:$query");

解决方案 »

  1.   

    我去掉了,用的话就出错啊,唠叨我是这样用的
    如果我在
    $rresult = mysql_query(SELECT time,body,id FROM book limit 5) or die("无法执行SQL:$query");
    那么一页会显示五条,但是翻页没有了,只会显示数据库中前五条记录。
    如果我这么用:$rresult = mysql_query(SELECT time,body,id FROM book limit $page,5) or die("无法执行SQL:$query");就提示无法执行sql;
    唠叨老大,怎么回事?
      

  2.   

    不错
    $rresult = mysql_query("SELECT time,body,id FROM book limit 5");
    就只返回5条记录,你需要先
    $rs = mysql_query("select count(*) from book");
    取得总记录数
    再用
    $rresult = mysql_query("SELECT time,body,id FROM book limit $page,5");
    取得从$page开始的5条记录
    注意:
    1、$page必须有值
    2、一般$page是页号,而所在页的起始记录是($page-1)*$pagesize,这里$pagesize=5
      

  3.   

    是不是要:
    $rresult = mysql_query("SELECT time,body,id FROM book limit $rs,5");
    把$page改为$rs?
      

  4.   

    这位兄台好像从来不看手册,知道 limit 10,5 表示什么意思吗?
      

  5.   

    唠叨大哥还在吗?
    我用了if( mysql_data_seek($rresult,($page-1)*$gPageSize) ){ while ($data=mysql_fetch_array($rresult))     {  printf("<tr><td nowrap width='200'><font color='#teal' size='2'>%s</font></td>",$data["time"]);   printf("<td nowrap></td>");   printf("<td nowrap width='200'><font color='#teal' size='2'>%s</font></td>",$data["body"]);
     printf("<td nowrap><input type='checkbox' name='select_id[]' onclick=chcolor(this,'#ffdddd') 
    value='%s'></td></tr>",$data["id"]); 
    关键还是不知道显示的时候怎么限制行数,你上面说要先计算总记录数,计算完后我不知道下面该怎么做,limit后面的第一个参数跟什么东西。 }
    }
      

  6.   

    你每次都用一个新的语句,神仙也难帮你
    mysql_data_seek ( resource result_identifier, int row_number)
    知道这个表示什么吗?
      

  7.   

    思路是这样的:
    $page=该页数,假设$page=2
    $gPageSize=5
    换句话说($page-1)*$gPageSize=5
    $sql="SELECT time,body,id FROM book limit ($page-1)*$gPageSize,5"
    也就是limit 5,5 ——从第五条记录开始选五条
    一共才五条啊,mysql_data_seek($rresult,($page-1)*$gPageSize)有意义吗?
    mysql_data_seek($rresult,($page-1)*$gPageSize)一下子就从5开始了……limit是针对你前面的while ($data=mysql_fetch_array($rresult))来写的
    你一下子换了个函数,limit就没有意义了,当然也就达不到你希望的那样子
      

  8.   

    根据偏移量($page - 1)*$gPageSize,运用mysql_data_seek函数得到要显示的页面
      

  9.   

    那我把while ($data=mysql_fetch_array($rresult))去掉以后,会根据我的要求超过五行就自动分页,但是点任何一页也还是显示全部记录,我就是不知道limit的第一个参数该怎么定义,请教的就是这个啊。。
      

  10.   

    那我把if( mysql_data_seek($rresult,($page-1)*$gPageSize) )
    去掉以后,会根据我的要求超过五行就自动分页,但是点任何一页也还是显示全部记录,我就是不知道limit的第一个参数该怎么定义,请教的就是这个啊。。
      

  11.   

    limit $a,$b$a 就是开始的记录数
    $b 就是你要显示几条的数但---数据库里第一个的数字不是1,是0,
    所以,你要想从第一条开始,连接显示5条,就应该limit 0,5
      

  12.   

    第一页 limit 0,5
    第二页 limit 5,5
    第三页 limit 10,5
    第四页 limit 15,5
    ……每一页取出来的都是5条,不可能显示全部记录
    呵呵,难道你没有写mysql_free_result($result)和mysql_close()吗?
      

  13.   

    我觉得我的思路没有错啊,第一页偏移量为0嘛,第二页是从5开始啊,我定义了$gPageSize= 5; 
    然后:
    $rresult = mysql_query(SELECT time,body,id FROM book limit ($page-1)*$gPageSize,5) or die("无法执行SQL:$query");
    当page为1的时候是从0开始啊,为第二页时从5开始,但是说执行这条语句出错。
      

  14.   

    当然错啦,不合语法
    mysql_query(SELECT time,body,id FROM book limit ($page-1)*$gPageSize,5)mysql_query ( string query [, resource link_identifier])
    php把“,5”当作“,resource link_identifier”同志,手册还是要看的啊
      

  15.   

    我把5 换成$gPageSize也一样不行啊。
      

  16.   

    我要崩溃了
    加上limit就不行
      

  17.   

    问题不是你把5 换成$gPageSize就可以的,只要有逗号就不行
    你应该在前面用$sql,然后mysql_query ($sql)才行
      

  18.   

    各位高手帮我分析一下这个问题:我用了这个函数if( mysql_data_seek($rresult,($page-1)*$gPageSize) )
    放在显示的前面,这样的话比如我有七条记录,按我要求每页五行,按道理第一页五行,第二页就是两行,我点下一页是两行没错,但是第一页还是有7条记录,就是说第一页还是显示全记录。
    我把那函数拿掉以后,这下第一和第二页都显示全记录,7条记录了。
    为什么??
      

  19.   

    第一页 $page=1
    mysql_data_seek($rresult,($page-1)*$gPageSize)就是:
    mysql_data_seek($rresult,0)
    共7条记录,从0 开始到6结束中间不停顿,所以共显示7条第二页 $page=2
    mysql_data_seek($rresult,($page-1)*$gPageSize)就是:
    mysql_data_seek($rresult,5)
    共7条记录,从5 开始到6结束中间不停顿,所以显示5和6共两条记录
      

  20.   

    mysql_data_seek($rresult,($page-1)*$gPageSize);
    $num = 0;
    while($row=mysql_fetch_array($rs) && $num<5) {
     //输出数据
     $num++;
    }
      

  21.   

    好,谢谢。
    <?
    $gPageSize= 5; //每页显示的记录数$hostname = "localhost"; //mysql Server$dbuser = "root"; //用户名$dbpasswd = ""; //密码//连接数据库$id = mysql_connect($hostname,$dbuser,$dbpasswd) or die("无法连接数据库服务器!");//选择数据库$db = mysql_select_db("cm",$id) or die("无法连接数据库!");$query = "SELECT time,body,id FROM book"; //执行查询语句$rresult = mysql_query($query) or die("无法执行SQL:$query");//$page变量标示当前显示的页if(!isset($_GET['page'])) $page=1;
    else $page=$_GET['page'];
    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) ){ while ($data=mysql_fetch_array($rresult))     {  printf("<tr><td nowrap width='200'><font color='#teal' size='2'>%s</font></td>",$data["time"]);   printf("<td nowrap></td>");   printf("<td nowrap width='200'><font color='#teal' size='2'>%s</font></td>",$data["body"]);
     printf("<td nowrap><input type='checkbox' name='select_id[]' onclick=chcolor(this,'#ffdddd') 
    value='%s'></td></tr>",$data["id"]);  }
    }
    ?></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> ";}?>
      

  22.   

    <?
    $gPageSize= 5; //每页显示的记录数//$page变量标示当前显示的页if(!isset($_GET['page'])) $page=1;
    else $page=$_GET['page'];
    if($page==0) $page=1;$hostname = "localhost"; //mysql Server$dbuser = "root"; //用户名$dbpasswd = ""; //密码//连接数据库$id = mysql_connect($hostname,$dbuser,$dbpasswd) or die("无法连接数据库服务器!");//选择数据库$db = mysql_select_db("cm",$id) or die("无法连接数据库!");$query = "SELECT time,body,id FROM book"; //执行查询语句$rresult = mysql_query($query) or die("无法执行SQL:$query");
    //得到当前查询到的纪录数 $nNumRows
    $nNumRows= mysql_num_rows($rresult);if($nNumRows<=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;
     while ($data=mysql_fetch_array($rresult) && $i<5)     {  printf("<tr><td nowrap width='200'><font color='#teal' size='2'>%s</font></td>",$data["time"]);   printf("<td nowrap></td>");   printf("<td nowrap width='200'><font color='#teal' size='2'>%s</font></td>",$data["body"]);
     printf("<td nowrap><input type='checkbox' name='select_id[]' onclick=chcolor(this,'#ffdddd') 
    value='%s'></td></tr>",$data["id"]); 
    $i++;
    }
    }
    ?></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> ";}?>
    试一下,可能还有错