php CI框架下封装datatable插件处理类

本文介绍了在PHP CI框架下,为了简化前端datatable插件的处理,作者封装了一个专门的类,以减少重复的function编写,提升代码的整洁度和效率。
摘要由CSDN通过智能技术生成

前端使用datatable插件时,每一次对于表格的操作都需要写出相应处理函数,对面向过程的php程序开发,就意味着要写更多的function,所以借鉴工作中遇到的,写了一个php封装datatable的类,让自己控制器下的代码更精炼一些,在代码中做解释。

<?php 
/**
* 处理datatables传递的数据
*/
class DataTable 
{
  protected $_db;
  protected $_draw ;
  protected $_order_column ; <span style="white-space:pre">	</span>//排序的行
  protected $_order_dir ;    <span style="white-space:pre">	</span>//排序方式 asc  desc
  protected $_search='' ;       //查询的字符串
  protected $_start ;        <span style="white-space:pre">	</span>//开始的位置
  protected $_length ;          //查询的长度
  protected $_recordsFiltered=0 ;  //过滤后的条目数量
  protected $_recordsTotal=0 ;     //总的条目数量
  protected $_return;              //没用到
  protected $_info;                //存放构造函数的第二个参数
  protected $_andSql='';           //用来存放总条目的where字段
  /**
   * 构造函数
   * @param [type] $dataTableGet [dataTable前台传递过来的数组]
   * @param [type] $info         [构造好的数组]
   * example array(   //表示 select ID AS sum,ID,USERNMAE   其中 sum用来统计数据的总条数
   *   "select"=array(
   *     "ID"=>"sum",
   *     "0"=>'ID',
   *     "1"=>"USERNAME",
   *   ),
   *   "sum"=>"ID",       //必须 用来查询总的条数  值必须是唯一的 
   *   "table"=>"db_name",//项目的数据库名称
   *   "order"=>array(//前台会发送过来根据哪一列排序  接收过来的值就是 键值,对应到数据表中的字段就是值,前台有几个列能够排序这里就需要有几个对应的键值对 
   *     "0"=>"ID",
   *     "2"=>"USERNAME",
   *   ),
   *   "where"=>array(      //and和or可以同时调用  但是or是用来做查询的  and则是初始数据的查询条件
   *     "and"=>array(      //表示会查询state=1 and level=2 的数据
   *       "state"=>'1',
   *       "level"=>"2",
   *   
使用方法: 支持JAVA和PHP两种后台。 PHP:直接将WebRoot下的文件放到php服务器上直接运行即可,记得启用sqlite3。 JAVA:修改user-manage.js,将访问后台的url由"datasource.php"改为"datasource.jsp",然后将WebRoot下的文件放到tomcat下直接运行。也可使用Eclipse直接导入此项目文件。 简要说明: 使用DataTable默认的ajax交互功能,对传给后台和从后台获取的数据都有命名格式要求,这样一来耦合度较高,不利于后期扩展,不能直接适用于需要跟多种不同前端或其他业务交互的项目。本例子主要展示了自行封装请求参数和返回数据的用法,对后台的交互没有任何格式和命名限制。 基于Bootstrap 2.3.2,相关的其他插件包括图标控件FontAwesome、等待提示控件Spinjs(修改版)、弹窗控件lhgdialog(修改版) 主要展现: 封装请求参数(查询、排序、分页,不再需要data、dataFilter和dataSrc) 封装返回数据 自定义查询参数 服务器分页 自行控制和自定义遮罩效果 生成自定义效果的单元格(在线离线) 生成复选框单元格 响应复选框选择事件 生成操作按钮单元格 响应操作栏按钮点击事件 响应行点击事件 渲染回调事件(默认选中第一行) 分页栏增加跳页功能(直接修改了dataTables.bootstrap.jsdataTables.bootstrap.css) CSS实现单元格超长文字省略号显示 CSS实现单元格连续纯字母数字强制换行显示
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值