layui搜索php,layui实现显示数据表格、搜索和修改功能示例

本文实例讲述了layui实现显示数据表格、搜索和修改功能。分享给大家供大家参考,具体如下:

搜索

layui.use('table', function(){

var table = layui.table;

table.render({

elem: '#test'

,url:'/getdata.php'

,cellminwidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增

,page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档

layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局

//,curr: 5 //设定初始在第 5 页

,groups: 1 //只显示 1 个连续页码

,first: false //不显示首页

,last: false //不显示尾页

}

,cols: [[

{field:'id', width:80, title: 'id', sort: true}

,{field:'columnname', width:80, title: '字段名'}

,{field:'descriptioncn', width:80, title: '中文描述', sort: true}

,{field:'name', width:80, title: '名称'}

,{field:'description_table', title: '表描述', width: '30%', minwidth: 100} //minwidth:局部定义当前单元格的最小宽度,layui 2.2.1 新增

,{field:'description', title: '字段类型', sort: true}

,{field:'primarykey', title: '主键', sort: true}

,{field:'class', width:137, title: '分类', sort: true}

]]

});

var $ = layui.$, active = {

reload: function(){

var demoreload = $('#demoreload');

//执行重载

table.reload('test', {

page: {

curr: 1 //重新从第 1 页开始

}

,where: {

keyword: demoreload.val()

}

});

}

};

$('#btn .layui-btn').on('click', function(){

var type = $(this).data('type');

active[type] ? active[type].call(this) : '';

});

});

引用样式和js,这是必须的。

后台返回数据格式

{

"code": 0,

"msg": "",

"count": 4,

"data:{}

}

数据表格单元格数据修改

layui.use('table', function(){

var table = layui.table;

table.render({

elem: '#test'

,url:'/classdata.php'

,cellminwidth: 80 //全局定义常规单元格的最小宽度,layui 2.2.1 新增

,page: { //支持传入 laypage 组件的所有参数(某些参数除外,如:jump/elem) - 详见文档

layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定义分页布局

//,curr: 5 //设定初始在第 5 页

,groups: 1 //只显示 1 个连续页码

,first: false //不显示首页

,last: false //不显示尾页

}

,cols: [[

{field:'id', width:80, title: 'id', sort: true}

,{field:'columnname', width:80, title: '字段名'}

,{field:'descriptioncn', width:80, title: '中文描述', sort: true}

,{field:'name', width:80, title: '名称'}

,{field:'description_table', title: '表描述', minwidth: 100} //minwidth:局部定义当前单元格的最小宽度,layui 2.2.1 新增

,{field:'description', title: '字段类型'}

,{field:'primarykey', title: '主键'}

,{field:'class', title: '分类'}

,{field:'checkclass', title: '用户标注','edit':'text'}

,{field:'reason', title: '标注理由','edit':'text'}

]]

});

//监听单元格编辑

table.on('edit(test)', function(obj){

var value = obj.value //得到修改后的值

,data = obj.data //得到所在行所有键值

,field = obj.field; //得到字段

if(value){

$.post('doclass.php',{'id':data.id,'field':field,'value':value},function(data){

console.log(data)

data = $.parsejson(data);

if(data.status == 1){

layer.msg('修改成功,请等待管理员的审核');

location.href=location.href;

}else{

layer.msg(data.msg);

}

})

}

});

});

在表格初始化的时候加上 'edit':'text' 就可以编辑

然后再添加一个监听的单元格事件

希望本文所述对大家基于layui框架的程序设计有所帮助。

希望与广大网友互动??

点此进行留言吧!

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,我可以为您提供一些相关的参考资料。 首先,您需要在前端页面引入Layui和jQuery库,以及Layui的分页插件。代码如下: ```html <!-- 引入jQuery库 --> <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <!-- 引入Layui库 --> <link rel="stylesheet" href="https://cdn.bootcss.com/layui/2.5.6/css/layui.min.css"> <script src="https://cdn.bootcss.com/layui/2.5.6/layui.min.js"></script> <!-- 分页插件 --> <script type="text/javascript"> layui.use(['laypage'], function(){ var laypage = layui.laypage; //执行一个laypage实例 laypage.render({ elem: 'demo' //注意,这里的 test1 是 ID,不用加 # 号 ,count: 50 //数据总数,从服务端得到 ,limit: 10 //每页显示的条数 ,jump: function(obj, first){ //首次不执行 if(!first){ //do something } } }); }); </script> ``` 然后,在后端使用ThinkPHP框架进行数据查询,返回分页数据。代码如下: ```php public function index() { //获取分页参数 $page = input('get.page', 1, 'intval'); $limit = input('get.limit', 10, 'intval'); //查询数据总数 $total = Db::name('user')->count(); //查询分页数据 $list = Db::name('user') ->limit(($page - 1) * $limit, $limit) ->select(); //返回JSON数据 return json([ 'code' => 0, 'msg' => '', 'count' => $total, 'data' => $list, ]); } ``` 最后,在前端页面使用jQuery的ajax请求获取后端返回的分页数据,并动态渲染表格。代码如下: ```javascript //分页请求 function page(page, limit) { $.ajax({ url: '/index.php/index/index', type: 'get', data: { page: page, limit: limit, }, dataType: 'json', success: function (res) { var html = ''; layui.each(res.data, function (index, item) { html += '<tr>'; html += '<td>' + item.id + '</td>'; html += '<td>' + item.username + '</td>'; html += '<td>' + item.email + '</td>'; html += '</tr>'; }); $('#data').html(html); layui.laypage.render({ elem: 'page', count: res.count, limit: limit, curr: page, jump: function (obj, first) { if (!first) { page(obj.curr, limit); } } }); } }); } //初始化分页 page(1, 10); ``` 以上就是一个基于Layui和ThinkPHP的分页实现示例,希望能对您有所帮助。 ### 回答2: layui php ajax分页是指使用layui框架结合php和ajax技术来实现分页效果。而layui框架是一款前端UI框架,提供了丰富的UI组件和简洁的API接口,方便开发人员构建美观的前端页面。 要实现layui php ajax分页,首先需要在PHP编写查询数据的代码,然后使用ajax发送请求获取数据。在前端页面,使用layui表格组件(非动态表格显示数据。下面是具体的实现步骤: 1. 在PHP编写查询数据的代码,将查询到的数据进行分页处理。可以使用SQL语句的LIMIT关键字来实现分页,也可以使用PHP的数组分页函数进行处理。 2. 编写前端页面的HTML结构,引入layui的相关文件。 3. 在前端页面使用layui表格组件来显示数据。可以使用表格组件的render方法来渲染表格,并且设置分页参数。 4. 使用ajax发送请求获取数据。可以使用layuitable模块提供的on和reload方法来实现数据的异步加载和刷新。 5. 在ajax请求返回数据后,调用layui表格组件的reload方法重新渲染表格,并将获取到的数据显示出来。 通过以上步骤,就可以实现layui php ajax分页的效果。在thinkphp5.1实现分页的方法与上述步骤类似,只需要根据thinkphp5.1的语法进行相应的调整即可。例如,使用thinkphp5.1的分页类来处理数据分页,并使用thinkphp5.1提供的模板引擎来渲染前端页面。 总结来说,layui php ajax分页可以通过结合layui框架、php和ajax技术来实现,以提供用户友好的分页效果,带来良好的用户体验。而在thinkphp5.1实现分页则需要根据thinkphp5.1的语法进行相应的调整。 ### 回答3: Layui是一个轻量级的前端UI框架,结合PHP和Ajax可以实现分页功能。以下是在Layui和ThinkPHP5.1框架实现非动态表格分页的方法: 首先,确保已经引入Layui和ThinkPHP5.1的相关文件。 然后,创建一个PHP文件,命名为index.php。在该文件,引入Layui相关的样式和脚本文件,以及ThinkPHP5.1的相关文件。 接下来,在index.php文件创建一个div容器,用于显示分页数据。并在里面编写一个table表格,用于展示数据。 在PHP文件,编写控制器代码,用于处理分页请求和数据的获取。在控制器代码,通过Ajax请求后台接口,获取到分页数据,并将数据返回到前端。 在前端代码,编写JavaScript代码,绑定Layui的分页组件。在分页组件,调用控制器的接口,请求分页数据,并将数据展示在table表格。 最后,在控制器,编写方法用于处理分页请求。在该方法,使用ThinkPHP5.1的分页功能,根据当前页数和每页显示数据量,从数据获取到对应的数据,并将数据返回给前端。 需要注意的是,分页的实现还需要根据具体的业务逻辑进行相应的调整和修改。以上只是一个大致的思路和步骤,具体实现还需要根据具体的需求进行相应的修改
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值