“上一页”和“下一页按钮实现方法

  • A+
所属分类:PHP编程
  1. <?php
  2. //本例子摘自phpbuilder.com  
  3. //稍加翻译  
  4. //<sprming@netease.com>  
  5. $limit=20// 每页显示的行数  
  6. $numresults=mysql_query("select * from TABLE where YOUR CONDITIONAL HERE order by WHATEVER");//换成你所需要的sql语句  
  7. $numrows=mysql_num_rows($numresults);
  8. // next determine if offset has been passed to script, if not use 0  
  9. if (empty($offset)) {
  10. $offset=1;
  11. }
  12. // 得到查询结果  
  13. $result=mysql_query("select id,name,phone ".
  14. "from TABLE where YOUR CONDITIONAL HERE ".
  15. "order by WHATEVER limit $offset,$limit");
  16. // 现在显示查询结果  
  17. while ($data=mysql_fetch_array($result)) {
  18. // 在这里插入您要显示的结果以及样式  
  19. }
  20. // 显示按钮  
  21. if ($offset!=1) { // bypass PREV link if offset is 1  
  22. $prevoffset=$offset-20;
  23. print "<a href=\"$PHP_SELF?offset=$prevoffset\">上一页</a>   \n";
  24. }
  25. // 计算页面数  
  26. $pages=intval($numrows/$limit);
  27. // $pages now contains int of pages needed unless there is a remainder from division  
  28. if ($numrows%$limit) {
  29. // has remainder so add one page  
  30. $pages++;
  31. }
  32. for ($i=1;$i<=$pages;$i++) { // 显示页数  
  33. $newoffset=$limit*($i-1);
  34. print "<a href=\"$PHP_SELF?offset=$newoffset\">$i</a>   \n";
  35. }
  36. // check to see if last page  
  37. if (!(($offset/$limit)==$pages) && $pages!=1) {
  38. // not last page so give NEXT link  
  39. $newoffset=$offset+$limit;
  40. print "<a href=\"$PHP_SELF?offset=$newoffset\">下一页</a><p>\n";
  41. }
  42. ?>