按网上例子,
抄写成了一个PHP页面,直接就把数据库里的记录都显示出来了,
我想按20条记录/页来分页,要怎样修改呢?
<?$dbh = @mysql_connect("localhost:3306","user","9");
 
 /* 定义变量dbh , mysql_connect()函数的意思是连接mysql数据库, "@"的意思是屏蔽报错 */if(!$dbh){die("error");}/* die()函数的意思是将括号里的字串送到浏览器并中断PHP程式 (Script)。括号里的参数为欲送出的字串。 */@mysql_select_db("tab", $dbh);/* 选择mysql服务器里的一个数据库,这里选的数据库名为 ok */$q = "SELECT * FROM aix_download_data";/* 定义变量q, "SELECT * FROM abc"是一个SQL语句,意思是读取表abc中的数据 */?><br />
<!--=========    方法一    =========-->
<br /><?
mysql_query("SET NAMES UTF8");
$rs = mysql_query($q, $dbh);
/* 定义变量 rs ,函数mysql_query()的意思是:送出 query 字串供 MySQL 做相关的处理或者执行.由于php是从右往左执行的,所以,rs的值是服务器运行mysql_query()函数后返回的值 */if(!$rs){die("Valid result!");}echo "<table>";echo "<tr><td>ID</td><td>url_115</td></tr>";while($row = mysql_fetch_row($rs)) echo "<tr><td>$row[0]</td><td><A href=$row[14]>$row[1]</a></td></tr>";/* 定义量变(数组)row,并利用while循环,把数据一一写出来. 
函数mysql_fetch_row()的意思是:将查询结果$rs单列拆到阵列变数中. 
$row[0] 和 $row[1] 的位置可以换*/echo "</table>";?><br />
<?@mysql_close($dbh);/* 关闭到mysql数据库的连接 */?>

解决方案 »

  1.   

    分页的思路你要明白:
    先获取总记录数,然后动态获取每页的内容
    如果你要每页取10个,那么总共应该有ceil(total/10)页
    那么第一页:
    select * from tb where .. limit 0, 10;
    第二页:
    select * from tb where .. limit 10, 10;。。第n页:
    select * from tb where .. limit (n-1)10, 10;做个循环。
      

  2.   

    LS正解,给段实际代码把  //............................选择数据库
    $pagesize=5;  //定义每页显示多少条记录
    $page=isset($_GET["page"])?intval($_GET["page"]):1;   //定义page的初始值,如果get 传过来的page为空,则page=1,
    $total=mysql_num_rows(mysql_query("select aid from list"));  //执行查询获取总记录数
    $pagecount=ceil($total/$pagesize);  //计算出总页数
    if ($page>$pagecount){
        $page=$pagecount;  // 对提交过来的page做一些检查
    }
    if ($page<=0){
        $page=1;                   // 对提交过来的page做一些检查
    }
    $offset=($page-1)*$pagesize;   //偏移量
    $pre=$page-1;           //上一页
    $next=$page+1;         //下一页
    $first=1;                       //第一页
    $last=$pagecount;    //末页
      $SQL="SELECT * FROM `list` order by aid desc limit $offset,$pagesize"; //执行查询
      $query=mysql_query($SQL);
    //中间的列表部分,你自己写把
    页<?php echo $page."/".$pagecount?>总页&nbsp;<a href="?page=1">首页</a> <a href="?page=<?php echo $pre?>">上一页</a> <a href="?page=<?php echo $next?>">下一页</a> <a href="?page=<?php echo $last?>">末页</a>
    //这个就是下面的那个  总页数,首页,尾页,上一条,下一条导航