
tp分页自己做
发布日期:2021-05-13 20:53:20
浏览次数:25
分类:原创文章
本文共 3985 字,大约阅读时间需要 13 分钟。
闲来无事,自己做了个小程序点餐系统,后台用的是tp3.2做的但是做到分页的时候出现了更改路由之后分页连接不对,索性自己写一个吧。后端环境: linux,nginx,tp3.2,php7.1,bootstrap设置的要求 1.每页最多10条数据 2.底部分页最多5个思路: 1.总数查询 2.最大页数 3.条件判断循环输出表现代码: c控制器部分: $User = M('food'); // 实例化User对象 $datacount = $User->count(); $this->assign('datacount',$datacount); $list = $User->page($_GET['page'].',10')->select(); $this->assign('list',$list);// 赋值数据集 // 自创分页 $totaopage = ceil($datacount/10);// 总页数 // 判断当前的页数,当条件满足的时刻,一行最多显示5个的时候只有最中间的是点选的页数 if($page == 0){ $page = 1; } // 页数不够全部显示处理1-$totaopage if($totaopage <=5){ for($i=1;$i<=$totaopage;$i++){ $pageurl = './index.php?m=home&c=index&a=foodlist&type=food&page='.$i; if($i == $page){ $data['showpage'][] = '<li><a style="background:#ddd;" href="'.$pageurl.'">'.$i.'</a></li>'; }else{ $data['showpage'][] = '<li><a href="'.$pageurl.'">'.$i.'</a></li>'; } } }else{ // >5时候判断当前页数 if($page >=5){ for($i = $page-3;$i <= $page+1;$i++){ $pageurl = './index.php?m=home&c=index&a=foodlist&type=food&page='.$i; if($i == $page){ $data['showpage'][] = '<li><a style="background:#ddd;" href="'.$pageurl.'">'.$i.'</a></li>'; }else{ if($totaopage>=$i){ $data['showpage'][] = '<li><a href="'.$pageurl.'">'.$i.'</a></li>'; } } } }else{ //page 小于5 for($i=1;$i<=5;$i++){ $pageurl = './index.php?m=home&c=index&a=foodlist&type=food&page='.$i; if($i == $page){ $data['showpage'][] = '<li ><a style="background:#ddd;" href="'.$pageurl.'">'.$i.'</a></li>'; }else{ $data['showpage'][] = '<li><a href="'.$pageurl.'">'.$i.'</a></li>'; } } } } // 进行处理上一页还有下一页按钮以及第一页和最后一页按钮 $this->assign('firstpage','./index.php?m=home&c=index&a=foodlist&type=food&page=1');// 第一页 $this->assign('lastpage','./index.php?m=home&c=index&a=foodlist&type=food&page='.$totaopage);// 最后一页 if($page>1){ $prepage = $page-1; $this->assign('prepage','./index.php?m=home&c=index&a=foodlist&type=food&page='.$prepage); }else{ $this->assign('prepage','./index.php?m=home&c=index&a=foodlist&type=food&page=1'); } if($page<$totaopage){ $nextpage = $page+1; $this->assign('nextpage','./index.php?m=home&c=index&a=foodlist&type=food&page='.$nextpage); }else{ $this->assign('nextpage','./index.php?m=home&c=index&a=foodlist&type=food&page='.$totaopage); } $this->assign('showpage',$data['showpage']); $this->assign('total',$totaopage);// 总页数 $this->display('foodlist'); // 输出模板 v视图部分: <div class="row bootstrap-admin-no-edges-padding"> <div class="panel panel-default"> <div class="panel-heading"> <div class="text-muted bootstrap-admin-box-title">商品列表</div> <div class="pull-right"><span class="badge">{$datacount}个</span></div> </div> <div class="bootstrap-admin-panel-content"> <table class="table table-responsive"> <thead> <tr> <th>序号</th> <th>商品名字</th> <th>所属分类</th> <th>商品价格</th> <th>商品展示</th> <th>上架</th> <th>操作</th> </tr> </thead> <tbody> <foreach name="list" item="vo" key="k" > <tr> <td>{$k+1}</td> <td>{$vo.goodname}</td> <td>{$vo.classificationname}</td> <td>¥{$vo.price}</td> <td><img src="{$vo.goodimg}" style="width:50px;height:50px;"></td> <td> <if condition="$vo.status eq 1"> 上架中 <else /> 未上架 </if> </td> <td>---</td> </tr> </foreach> </tbody> </table> <div style="text-align:center;"> <nav aria-label="Page navigation"> <ul class="pagination"> <li><a href="{$firstpage}">第一页</a></li> <li><a href="{$prepage}">上一页</a></li> <foreach name="showpage" item="vo" key="k" > {$vo} </foreach> <li><a href="{$nextpage}">下一页</a></li> <li><a href="{$lastpage}">最后一页</a></li> <li><a href="#">总数:{$datacount}条</a></li> </ul></nav> </div> </div> </div> </div>结果展示:
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年05月05日 00时44分18秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Golang AES加密
2021-05-15
Puppet的一些奇技淫巧
2021-05-15
foreman源NO_PUBKEY 6F8600B9563278F6
2021-05-15
亚马逊aws文档语法错误
2021-05-15
什么是5G?居然有人用漫画把它讲得如此接地气!
2021-05-15
Spring cloud --分布式配置中心组件Spring Cloud Config
2021-05-15
UE4接入Android第三方库2——通过JIN与GameActivity通信
2021-05-15
Unity Job System 2——并行处理数据
2021-05-15
BIG解决保险欺诈问题,开创数字化保险时代
2021-05-15
spark概述
2021-05-15
JavaScript 知识梳理[一] 变量类型,浅拷贝,深拷贝
2021-05-15
pip命令 failed to create process.
2021-05-15
做SMTP客户端遇报错:535 Error
2021-05-15
Python3的修改
2021-05-15
SQL基础学习(六)- MySQL的insert语句
2021-05-15
Linux kernel pwn --- CSAW2015 StringIPC
2021-05-15
2020 05 02 记录思考
2021-05-15
2020-05-31 py执行时超时控制
2021-05-15
一段强大的shellcode
2021-05-15