集成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);// 赋值分页输出
}
}
?>
原创文章,作者:CrazyCodes,如若转载,请注明出处:https://blog.fastrun.cn/2014/02/05/1-42/