集成TP分页类代码

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

<?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

© 著作权归作者所有

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏全栈架构

elasticsearch5xx使用logstash同步mysql

下载地址:https://www.elastic.co/downloads/logstash

10040
来自专栏醉梦轩

Ubuntu 16.04 部署MySQL服务

MySQL是一款开源的关系型数据库管理系统,大量公司都在使用它,或是在它的基础上做二次开发。有时,我们会需要在Linux系统上部署MySQL服务用于测试。

11410
来自专栏散尽浮华

Mysql备份系列(1)--备份方案总结性梳理

mysql数据库备份有多么重要已不需过多赘述了,废话不多说!以下总结了mysql数据库的几种备份方案: 一、binlog二进制日志通常作为备份的重要资源,所以再...

77690
来自专栏python3

解决centos7 /etc/rc.local 不能执行

最近发现centos7 的/etc/rc.local不会开机执行,于是认真看了下/etc/rc.local文件内容的就发现了问题的原因了

14720
来自专栏C/C++基础

MySQL设置远程访问

在MySQL Server端,执行mysql 命令进入mysql 命令模式。使用grant命令用来建立新用户,指定用户口令并增加用户权限。命令格式如下:

19210
来自专栏数据和云

经典故障分析 -用好UTL_FILE包其实并不是太容易

作者介绍 ? 崔华 网名 dbsnake Oracle ACE Director,ACOUG 核心专家 UTL_FILE包可以用来读写操作系统上的文本文件...

37090
来自专栏Python、Flask、Django

Ajax与php进行数据交互

17420
来自专栏乐沙弥的世界

MySQL多实例配置(一)

    MySQL数据库的集中化运维,可以通过在一台MySQL数据库服务器上,部署多个MySQL实例。该功能是通过mysqld_multi来实现。mysqld_...

20420
来自专栏数据库

MongoDB安全实战之Kerberos认证

邓开表同学MongoDB系列文章,本文主要讲诉MongoDB的Kerberos配置实战。MongoDB Enterprise版本支持Kerberos服务认证。K...

23560
来自专栏Java成神之路

mysql_异常_01_Access denied for user 'root'@'192.168.1.13' (using password: YES)

使用navicat premuim 连接 虚拟机mysql数据库时 ,抛出如下错误:

10430

扫码关注云+社区

领取腾讯云代金券