js代码如下:
$('#mytable').dataTable(
{
"bServerSide": true, //开启服务器模式,使用服务器端处理配置datatable。注意:sAjaxSource参数也必须被给予为了给datatable源代码来获取所需的数据对于每个画。 这个翻译有点别扭。开启此模式后,你对datatables的每个操作 每页显示多少条记录、下一页、上一页、排序(表头)、搜索,这些都会传给服务器相应的值。
"sAjaxSource": "ajax.php", //给服务器发请求的url
"aoColumns": [ //这个属性下的设置会应用到所有列,按顺序,没有是空
{"sDefaultContent": ''},//checkbox column 相当于占位符,等待填充。也可以指定值如 {"mData": 'ip'}
{"sDefaultContent": ''},//ip column
{"sDefaultContent": ''},//nip column
{"sDefaultContent": ''},//role column
{"sDefaultContent": ''},//gamenserver column
{"sDefaultContent": ''},//serverid column
{"sDefaultContent": ''},//status column
{"sDefaultContent": ''},//remark column
{"sDefaultContent": ''},//ctime column
{"sDefaultContent": '', "sClass": "action"},//sClass 表示给本列加class
],
"aoColumnDefs": [//和aoColums类似,但他可以给指定列赋予属性
{"bSortable": false, "aTargets": [0,7,9]}, //这句话意思是第7,9列(从0开始算)不排序 ],
"aaSorting": [[1, "asc"]], //默认排序 "fnRowCallback": function(nRow, aData, iDisplayIndex) {// 给各列填充内容
$('td:eq(0)', nRow).html('<label><input type="checkbox" id="hids[]" value="'+aData.id+'-'+aData.status+'" name="hids[]"></label>'); $('td:eq(2)', nRow).html(aData.nip); var role = aData.role.split(' ');
var href = "";
for(var i=0;i<role.length;i++){
href += '<a href="host.php?ser='+role[i]+'">'+role[i]+'</a> ';
}
$('td:eq(3)', nRow).html(href); $('td:eq(4)', nRow).html(aData.gameserver);
$('td:eq(5)', nRow).html(aData.serverid);
$('td:eq(7)', nRow).html(aData.remark);
$('td:eq(8)', nRow).html(aData.ctime); if (aData.status == 1) {
if(aData.hostscreenid){
$('td:eq(1)', nRow).html('<a href="http://11.111.111.11:8081/screen/'+aData.hostscreenid+'"><span style="color:red;">'+aData.ip+'</span></a>');
}else{
$('td:eq(1)', nRow).html("<span style='color:red;'>"+aData.ip+"</span>");
}
$('td:eq(6)', nRow).html("<span style='color:red;'>线下</span>");
} else if (aData.status == 0) {
if(aData.hostscreenid){
$('td:eq(1)', nRow).html('<a href="http://11.111.111.11:8081/screen/'+aData.hostscreenid+'">'+aData.ip+'</a>');
}else{
$('td:eq(1)', nRow).html(aData.ip);
} $('td:eq(6)', nRow).html("<span>线上</span>");
} $('td:eq(9)', nRow).html('<a href="host.php?op=del&id='+aData.id+'"> <button class="btn btn-danger btn-sm">删除</button> </a> <button class="btn btn-success btn-sm" data-toggle="modal"data-target="#myModal'+aData.id+'">编辑 </button> ');
return nRow;
}, }
);
 服务器端php代码
$sEcho = $_GET['sEcho'];
$start = $_GET['iDisplayStart'];//从多少开始
$length = $_GET['iDisplayLength'];//数据长度
$sort_th = $_GET['iSortCol_0'];//被排序的列
$sort_type = $_GET['sSortDir_0'];//排序规则 if(!empty($_GET['sSearch'])){
$search = $_GET['sSearch'];
} $where = "";
$order = "";
if ($search) {
$where = " where concat( xx,xx,xx,xx) like '%$search%' ";//查询
} if ($sort_th == 1) {
$order = " order by xx " . $sort_type . " ";
} elseif ($sort_th == 2) {
$order = " order by xx " . $sort_type . " ";
} elseif ($sort_th == 4) {
$order = " order by xx " . $sort_type . " ";
} elseif ($sort_th == 4) {
$order = " order by xx " . $sort_type . " ";
} elseif ($sort_th == 5) {
$order = " order by xx " . $sort_type . " ";
} elseif ($sort_th == 6) {
$order = " order by xx " . $sort_type . " ";
} elseif ($sort_th == 8) {
$order = " order by xx " . $sort_type . " ";
}
$condition = $where . $order; $hosts = getLimitRow("xx,xx,xx,xx", 'table', $condition, $start, $length);
$count = getRecordCount('table');
if(count($hosts) > 0){
$host_screenid = getScreenid();
foreach ($hosts as $index => $values) {
foreach ($values as $field => $value) {
if ($values['status'] == 0) {
$status_str = toutf8('线上');
} else {
$status_str = toutf8('线下');
}
$aaData[$index][$field] = toutf8($value);
$aaData[$index]['statusstr'] = $status_str;
$aaData[$index]['hostscreenid'] = $host_screenid[$aaData[$index]['ip']];
}
} if ($search) {
$dcount = getRecordCount('table', "where concat( xxx,xx,xx) like '%$search%' ");
} else {
$dcount = $count;
}
$json_data = array('sEcho' => $sEcho, 'iTotalRecords' => $count, 'iTotalDisplayRecords' => $dcount, 'aaData' => $aaData);
echo json_encode($json_data);
exit;
}else{
$aaData = array();
$json_data = array('sEcho' => $sEcho, 'iTotalRecords' => $count, 'iTotalDisplayRecords' => 0, 'aaData' => $aaData);
echo json_encode($json_data);
}

datatable表格框架服务器端分页查询设置的更多相关文章

  1. ThinkPhp框架:分页查询和补充框架知识

    上一篇的随笔写的是基本操作,现在可以做一些高级操作,例如有条件的查询数据,有分页的条件查询数据 一.一个条件的查询数据 查询数据自然是先要显示出数据,然后根据条件进行查询数据 (1)显示出表的数据 这 ...

  2. DataTable插件 后台分页 (服务器端分页)

    <script type="text/javascript">        var persontable; var personQueryCondition = { ...

  3. myBatis学习笔记(10)——使用拦截器实现分页查询

    1. Page package com.sm.model; import java.util.List; public class Page<T> { public static fina ...

  4. EasyUI 之 DataGrid利用用拉姆达表达式实现分页查询

      首先,我们在DataGrid的URL中加上我们要查询的条件:查询用户名不是“呵呵”的所有用户. <div> <table id="dg" class=&quo ...

  5. 基于SpringMVC+Bootstrap+DataTables实现表格服务端分页、模糊查询

    前言 基于SpringMVC+Bootstrap+DataTables实现数据表格服务端分页.模糊查询(非DataTables Search),页面异步刷新. 说明:sp:message标签是使用了S ...

  6. 小书MybatisPlus第4篇-表格分页与下拉分页查询

    本文为mybatis系列文档的第4篇,前三篇请访问下面的网址. 小书MybatisPlus第1篇-整合SpringBoot快速开始增删改查 小书MybatisPlus第2篇-条件构造器的应用及总结 小 ...

  7. .net使用SqlBulkCopy类操作DataTable批量插入数据库数据,然后分页查询坑

    在使用SqlBulkCopy类操作DataTable批量插入数据,这种操作插入数据的效率很高,就会导致每一条数据在保存的时间基本一样,在我们分页查询添加的数据是,使用数据的添加时间来排序就会出现每页的 ...

  8. hibernate框架学习第六天:QBC、分页查询、投影、数据加载策略、二级缓存

    QBC查询 1.简单查询 Criteria c = s.createCriteria(TeacherModel.class); 2.获取查询结果 多条:list 单挑:uniqueResult 3.分 ...

  9. Java_Web三大框架之Hibernate+jsp+HQL分页查询

    分页查询无处不在.使用Hibernate+jsp+HQL进行分页查询. 第一步:编写房屋实体类和House.hbm.xml映射. /* * 房屋实体类 */ public class House { ...

随机推荐

  1. [转帖]什么高速线缆DAC?有了有源光缆AOC为何还选择DAC?

    什么高速线缆DAC?有了有源光缆AOC为何还选择DAC? http://www.eefocus.com/gigalight2006/blog/17-12/426177_88485.html 2017- ...

  2. Java并发知识点总结

    前言:Java语言一个重要的特点就是内置了对并发的支持,让Java大受企业和程序员的欢迎.同时,如果想要提升自己的技术,Java并发知识必不可少,这里简单整理了一些相关内容,希望可以起到抛砖引玉的作用 ...

  3. 原生Ajax函数

    前言 在日常工作中,我经常使用Jquery的Ajax来获取接口数据.这几天有一个的官网要制作,由于网站比较小,有一些与服务器通信的接口处理,并没有涉及到复杂的交互功能.为了可以减少加载Jquery库的 ...

  4. UVA11624_Fire!

    在一个矩形方阵里面,一个人要从一个位置走向另一个位置,其中某些地方有火源,每过一分钟,火源就会点燃相邻的点,同时相邻的点也变成了火源.人不能通过有火的点.问一个人能够安全地走到目的地去?最短时间多少? ...

  5. eclipse中添加配置文件夹config

    1. 在项目上右键->Build path->Configure Build Path->Source下的Add Folder,如图 2. 在弹出框中,Create New Fold ...

  6. PGM学习之五 贝叶斯网络

    本文的主题是“贝叶斯网络”(Bayesian Network) 贝叶斯网络是一个典型的图模型,它对感兴趣变量(variables of interest)及变量之间的关系(relationships) ...

  7. 数据结构开发(14):KMP 子串查找算法

    0.目录 1.KMP 子串查找算法 2.KMP 算法的应用 3.小结 1.KMP 子串查找算法 问题: 如何在目标字符串S中,查找是否存在子串P? 朴素解法: 朴素解法的一个优化线索: 示例: 伟大的 ...

  8. MT【134】待定系数

    已知\(a,b>0\)且\(ab(a+b)=4\),求\(2a+b\)的最小值______. 解答:\(\sqrt{3}(2a+b)\ge(\sqrt{3}+1)a+b+(\sqrt{3}-1) ...

  9. Win7剪贴板粘贴汉字显示为乱码的解决办法

    http://blog.csdn.net/tanaya/article/details/8684805 最近2天发现在记事本粘贴的时候汉字都显示为乱码了,很纠结,后面发现是[区域和语言]设置中的“文本 ...

  10. Alpha 冲刺 —— 十分之六

    队名 火箭少男100 组长博客 林燊大哥 作业博客 Alpha 冲鸭鸭鸭鸭鸭鸭! 成员冲刺阶段情况 林燊(组长) 过去两天完成了哪些任务 协调各成员之间的工作 测试服务器并行能力 学习MSI.CUDA ...