php分页的实现
程序员文章站
2022-05-08 16:58:37
...
php常见分页有3种,一种是文字分页,比如说上一页,下一页之类的,还有一种数字分页,像1,2,3...之类的,这个比较简单,前者稍微复杂些.最后一种是他们2者结合.
下面是代码:
1 //获取当前页数
2 if(isset($_GET['page'])){
3 $page = intval($_GET['page']);
4 }
5 else {
6 $page=1;
7 }
8 $PageSize = 1; //每页的记录数量
9 // 获取总数量
10 $sql = "select count(*) from blog";
11 $result = mysql_query($sql);
12 $row = mysql_fetch_row($result);
13 $amount = $row[0];
14 /*计算总页数
15 if($amount){
16 if($amount 17 $PageCount = 1;
18 }
19 if($amount%$PageSize) { //总数量除以每页的记录数量取于
20 $PageCount =& amp;nbsp;(int)($amount/$PageSize)+1;//如果有于,则页数等于总数量除每页的记录数加1
21 }
22 else{
23 $PageCount =& amp;nbsp;$amount/$PageSize;//没有,则结果是页数
24 }
25 }
26 else{
27 $PageCount = 0;
28 }*/
29 $PageCount = ceil($amount/$PageSize);//总页数=总数量除以每页数量 如果有小树,则进位
30 if($Page>$PageCount|$page==0){// 如果当前页数大于总页数
31 echo "不能发现此页!";
32 exit();
33 }
34
35 //翻页链接
36 $PageOut = '';
37 if($page==1){//如果页数只有一页
38 $PageOut .= '第一页|上一页';
39 }
40 else{
41 $PageOut .= '第一页& lt;/a>|'.($page-1).'">上一页|';
42 }
43 if($page==$PageCount||$PageCount==0){//如果当前页等于总也数
44 $PageOut .= '下一页|尾页';
45 }
46 else{
47 $PageOut .= ''.($page+1).'">下一 页|'.$PageCount.'">尾页';
48 }
49 //获取数据
50 if($amount){
51 $sql="select * from blog limit ".($page-1)*($PageSize).",$PageSize";
52 $result=mysql_query($sql);
53 while($row=mysql_fetch_array($result)){//此段代码只是示例
54 $blogs[] = array('bid'=>$row['bid'],'title'=>$row['title']);
55 foreach ($blogs as $blog){
56 $title=$blog['title'];
57 }
58 $output = "$blog[bid]>删除".
59 "$blog[bid]>编辑".
60 "$blog[bid]>查看";
61 include("template/default/blog.tpl.php");
62 echo $PageOut;
63 }
64 for($i=1;$i$PageCount;$i++){//数字分页
65 $Pageshow = ($i!=$page)?"".$i."'>$i":"$i";
66 echo $PageShow;
67 }
68 echo $amount.'条记录,每页'.$PageSize.'条,共'.$PageCount.'页';
69 }
2 if(isset($_GET['page'])){
3 $page = intval($_GET['page']);
4 }
5 else {
6 $page=1;
7 }
8 $PageSize = 1; //每页的记录数量
9 // 获取总数量
10 $sql = "select count(*) from blog";
11 $result = mysql_query($sql);
12 $row = mysql_fetch_row($result);
13 $amount = $row[0];
14 /*计算总页数
15 if($amount){
16 if($amount 17 $PageCount = 1;
18 }
19 if($amount%$PageSize) { //总数量除以每页的记录数量取于
20 $PageCount =& amp;nbsp;(int)($amount/$PageSize)+1;//如果有于,则页数等于总数量除每页的记录数加1
21 }
22 else{
23 $PageCount =& amp;nbsp;$amount/$PageSize;//没有,则结果是页数
24 }
25 }
26 else{
27 $PageCount = 0;
28 }*/
29 $PageCount = ceil($amount/$PageSize);//总页数=总数量除以每页数量 如果有小树,则进位
30 if($Page>$PageCount|$page==0){// 如果当前页数大于总页数
31 echo "不能发现此页!";
32 exit();
33 }
34
35 //翻页链接
36 $PageOut = '';
37 if($page==1){//如果页数只有一页
38 $PageOut .= '第一页|上一页';
39 }
40 else{
41 $PageOut .= '第一页& lt;/a>|'.($page-1).'">上一页|';
42 }
43 if($page==$PageCount||$PageCount==0){//如果当前页等于总也数
44 $PageOut .= '下一页|尾页';
45 }
46 else{
47 $PageOut .= ''.($page+1).'">下一 页|'.$PageCount.'">尾页';
48 }
49 //获取数据
50 if($amount){
51 $sql="select * from blog limit ".($page-1)*($PageSize).",$PageSize";
52 $result=mysql_query($sql);
53 while($row=mysql_fetch_array($result)){//此段代码只是示例
54 $blogs[] = array('bid'=>$row['bid'],'title'=>$row['title']);
55 foreach ($blogs as $blog){
56 $title=$blog['title'];
57 }
58 $output = "$blog[bid]>删除".
59 "$blog[bid]>编辑".
60 "$blog[bid]>查看";
61 include("template/default/blog.tpl.php");
62 echo $PageOut;
63 }
64 for($i=1;$i$PageCount;$i++){//数字分页
65 $Pageshow = ($i!=$page)?"".$i."'>$i":"$i";
66 echo $PageShow;
67 }
68 echo $amount.'条记录,每页'.$PageSize.'条,共'.$PageCount.'页';
69 }