前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >集成TP分页类代码

集成TP分页类代码

作者头像
CrazyCodes
发布2018-09-18 11:10:51
8080
发布2018-09-18 11:10:51
举报
文章被收录于专栏:Grace development

集成tp分页类代码。小伙伴再也不用重复引用了

代码语言:javascript
复制
<?php
    class PageExtendsAction extends Action{
            /**
        @$sqlName 数据表名称 string
        @$sql 1:有where条件 2:无where条件 int
        @$sqlCon where 条件 string
        @$orderField 排序 string
        @$pageNum 数量 string
        @$DataName 数据输出名称 string
        @$DataPage 分页输出名称 string
        @$orderIf 多表查询 array
        |------array[$i]['field'] 字段名
        |------array[$i]['for'] 条件字段
        |------array[$i]['sqlName'] 查询表明
        |------array[$i]['forField'] 查询后字段
        |------array[$i]['getArr'] 是否获取整个数据还是数组元素 1为获取整个数组,2为只获取单个元素
        */
        public function DataPage($sqlName,$sql,$sqlCon,$pageNum,$orderField,$DataName,$DataPage,$orderIf){
            $Data = M($sqlName); // 实例化Data数据对象
            import('ORG.Util.Page');// 导入分页类
            if($sql == 1){
                $count = $Data->where($sqlCon)->count();// 查询满足要求的总记录数 $map表示查询条件
            }else if($sql == 2){
                $count = $Data->count();// 查询满足要求的总记录数 $map表示查询条件
            }
            $Page = new Page($count,$pageNum);// 实例化分页类 传入总记录数
            $show = $Page->show();// 分页显示输出
            if($sql == 1){
                $list = $Data->where($sqlCon)->order($orderField)->limit($Page->firstRow.','.$Page->listRows)->select();// 进行分页数据查询
            }else if($sql == 2){
                $list = $Data->order($orderField)->limit($Page->firstRow.','.$Page->listRows)->select();// 进行分页数据查询
            }
            // -------------------------------------
            // ---------@多表调用名称@ start---------
            if($orderIf != null){
                for($i=0;$i<count($list);$i++){
                    for($j=0;$j<count($orderIf);$j++){
                        // 参数分解
                        $field = $orderIf[$j]['field'];
                        $for = $orderIf[$j]['for'];
                        $sqlName = $orderIf[$j]['sqlName'];
                        $forField = $orderIf[$j]['forField'];
                        // 赋值操作
                        $id = $list[$i][$field];
                        $arr = M($sqlName) -> where("$for = $id") -> find();
                        if($orderIf[$j]['getArr'] == 1){
                            $list[$i][$field] = $arr;
                        }else if($orderIf[$j]['getArr'] == 2){
                            $list[$i][$field] = $arr[$forField];
                        }else{
                            echo "非法操作";
                        }
                    }
                }
            }
            // -------------------------------------
            // ---------@多表调用名称@ end---------
            $this->assign($DataName,$list);// 赋值数据集
            $this->assign($DataPage,$show);// 赋值分页输出
        }
    }
?>

最后修改:5年前 2014-02-05

© 著作权归作者所有

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014-02-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档