Page分页函数

提供一款实例的分类函数,有需要的朋友可以参考一下,实例函数代码如下:

  1. <?php
  2. // page分页函数
  3. $page = $_get["page"];
  4. function page($rows,$page_size){
  5. global $page,$select_from,$select_limit,$pagenav;
  6. $page_count = ceil($rows/$page_size);
  7. if($page <= 1 || $page == '') $page = 1;
  8. if($page >= $page_count) $page = $page_count;
  9. $select_limit = $page_size;
  10. $select_from = ($page - 1) * $page_size.',';
  11. $pre_page = ($page == 1)? 1 : $page - 1;
  12. $next_page= ($page == $page_count)? $page_count : $page + 1 ;
  13. $pagenav .= "第 $page/$page_count 页 共 $rows 条记录 ";
  14. $pagenav .= "<a href='?page=1'>首页</a> ";
  15. $pagenav .= "<a href='?page=$pre_page'>前一页</a> ";
  16. $pagenav .= "<a href='?page=$next_page'>后一页</a> ";
  17. $pagenav .= "<a href='?page=$page_count'>末页</a>";
  18. $pagenav.=" 跳到<select name='topage' size='1' onchange='window.location="?page="+this.value'>n";
  19. for($i=1;$i<=$page_count;$i++){
  20. if($i==$page) $pagenav.="<option value='$i' selected>$i</option>n";
  21. else $pagenav.="<option value='$i'>$i</option>n";
  22. }
  23. } // page分页函数
  24. // 使用示例
  25. if (!$conn= mysql教程_connect("localhost", "root" ,"root")) die('数据库教程选择失败!');
  26. if (!mysql_select_db("test", $conn)) die('数据库选择失败!');
  27. mysql_query('set names gbk');
  28. // 用page函数计算出 $select_from 从哪条记录开始检索、$pagenav 输出分页导航
  29. $rows = mysql_num_rows(mysql_query("select * from test"));
  30. page($rows,2);
  31. //开源代码phpfensi.com
  32. $sql = "select * from test limit $select_from $select_limit";
  33. $rst = mysql_query($sql);
  34. while ($row = mysql_fetch_array($rst)){
  35. echo "$row[id] - $row[sex] - $row[name] <hr />";
  36. }
  37. echo $pagenav;
  38. ?>

下面看数据库结构,新建一个数据库 test,执行下面的语句(新建一个表 test :id、sex、name 三个字段)

  1. create table `test` (
  2. `id` int( 4 ) not null auto_increment primary key ,
  3. `sex` int( 1 ) not null ,
  4. `name` varchar( 20 ) not null ) engine = myisam character set utf8 collate utf8_bin;

添加数据到 test 表,比如:

  1. 1 1 小强
  2. 2 0 小红
  3. 3 0 小丽
  4. 4 1 小兵
  5. 5 1 张三
  6. 6 0 李四
  7. 7 0 吴欣