刚调好的!<?php
include"include/config.inc.php";
include"include/connect.php";
?><?php 
/*
这些代码是用于MYSQL的,但很容易移植到其它SQL上。 由于每个程序的特殊性,所以我在MYSQL的查询里使用了一些很通用的语句。用你的表名替换TABLE;用你的条件语句代替YOUR_CONDITION_HERE;用你希望按其排序的字段名代替WHATEVER(当然如果要排倒序,别忘了加上DESC子句)。 
*/
$qh=mysql_query("SELECT COUNT(*) AS rcnt FROM mygbook ORDER BY id desc"); $data=mysql_fetch_array($qh); $nr=$data["rcnt"]; //判断偏移量参数是否传递给了脚本,如果没有就使用默认值0 if (empty($offset)) 

$offset=0; 

//查询结果(这里是每页20条,但你自己完全可以改变它) $result=mysql_query("SELECT * FROM mygbook ORDER BY id desc LIMIT $offset,20") or die("error"); 
//显示返回的20条记录 
while ($data=mysql_fetch_array($result)) 
{
echo "$data[id]<br>";

//下一步,要写出到其它页面的链接 if($offset) //如果偏移量是0,不显示前一页的链接 
{ $preoffset=$offset-20; 
print "<a href='$PHP_SELF?offset=$preoffset'>前一页</a>&nbsp;"; 

//计算总共需要的页数 
$pages=ceil($nr/20); //$pages变量现在包含所需的页数 
for ($i=1;$i <=$pages; $i++) 

$newoffset=20*$i-20;
print "<a href='$PHP_SELF?offset=$newoffset'>$i</a>&nbsp;"; 

//检查是否是最后一页 
if ($pages!=0 && (($offset/20)+1)!=$pages) 

print "<a href='$PHP_SELF?offset=$newoffset'>下一页</a>&nbsp;"; 

//这只是向你大概地介绍了实现将查询结果分页显示的方法,其他的功能你自己完成
//注意两点:$PHP_SELF只有偏移量一个参数,你可以根据需要加入自己的东西;这种办法对包含百万条记录以上的表的查询效率不高。
?>

解决方案 »

  1.   

    有谁知道limit的工作过程,偶想移到sql server上
      

  2.   

    LIMIT子句可以被用来限制SELECT语句返回的行数。LIMIT取1个或2个数字参数,如果给定2个参数,第一个指定要返回的第一行的偏移量,第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。 
    mysql> select * from table LIMIT 5,10;  # Retrieve rows 6-15如果给定一个参数,它指出返回行的最大数目。 mysql> select * from table LIMIT 5;     # Retrieve first 5 rows换句话说,LIMIT n等价于LIMIT 0,n。
      

  3.   

    在oracle里你怎么用呢??limit无效阿!!