layui数据表格 JS+PHP搜索框查询

layui数据表格 搜索框查询
先来张效果图,主要写搜索框
在这里插入图片描述
代码:
CSS代码,需要引入layui.css跟layui.js,怎么引入我就不多说了
在这里插入图片描述
在这里插入图片描述

<div class="chu" style="margin-top:30px">
				<div class="demoTable layui-form-item">
						<div class="layui-inline">
							<label class="layui-form-label">项目名称:</label>
							<div class="layui-input-inline">
									<input class="layui-input" name="id" id="textdemo" autocomplete="off">
							</div>
						</div>
						<div class="layui-btn" data-type="reload">搜索</div>
					</div>
		
		</div>

JS代码:

layui.use(['table','form'],function(){
				var table=layui.table;
				var form = layui.form;
					
				
				table.render({
				elem:'#test',
				toolbar: '#toolbarDemo',
				cellMinWidth:120,
				url:'../php/usertable.php',
				//height:'full-300',
				response:{
					statusCode:200
				},
				parseData:function(res){
					
					return{ //layui  JSON格式
						 "code": res.status, //解析接口状态
				          "msg": res.message, //解析提示文本
				          "count": res.total, //解析数据长度
				         "data": res.rows.item //解析数据列表
					}
					
				},
				cols:[[
				{checkbox:true,fixed:true,LAY_CHECKED:false,filter:'test'},
				{field:'inexId',title:'ID',sort:true,fixed:true},
				{field:'inexDesc',title:'项目名称',sort:true,width:'30%',edit: 'text'},
				{field:'projId',title:'(待定名称)',edit: 'text'},
				{field:'inTime',title:'(申请时间)',edit: 'text'},
				]],
				text: {
				none: '暂无相关数据', //默认:无数据。
			 	},
			 page:{//分页
				 layout:['count','prev','page','next'],//自定义布局
				 curr:1,//设定初始页
				 limit:10,//数量
				 groups:5,//页码
				 theme:'#1E9FFF'
			 },
			defaultToolbar:['filter','print','exports'],
			id:'textreload'	**//这个是重点**
				});
		var $=layui.$,active={
					reload:function(){
						var textdemo=$('#textdemo').val();
						table.reload('textreload',{
							url:'../php/usertable.search.php',
							method:'get',
							page: {
								curr: 1 //重新从第 1 页开始
							  },
							where:{
								key:textdemo
								
							}
						})

					}
				}
				$('.chu .layui-btn').on('click', function(){
					var type = $(this).data('type');
				
					if($('#textdemo').val()==""){
						layer.msg('查询项目不能为空');
						return false;
					}
					active[type] ? active[type].call(this) : '';
				  });
	});

PHP 搜索框的PHP(接口)

<?php
 $page=$_GET['page'];  //前端传过来的分页
 $limit=$_GET['limit'];
$key=$_GET['key'];		//前端传来的值

$dbhost = 'localhost:3306';  // mysql服务器主机地址
$dbuser = 'root';            // mysql用户名
$dbpass = '123456';          // mysql用户名密码
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
    die('连接失败: ' . mysqli_error($conn));
}
// 设置编码,防止中文乱码
mysqli_query($conn , "set names utf8");
$hang="SELECT * FROM inexp WHERE inexDesc LIKE '%$key%'";  //模糊查询语句

$a=($page-1)*$limit;

$sql = "SELECT * FROM inexp limit $a,$limit";//分页

mysqli_select_db( $conn, 'incomeadmin' );

$hangs=mysqli_query( $conn, $hang );//查询行数
$row=mysqli_num_rows($hangs);

$retval = mysqli_query( $conn, $hang );//查询 模糊查询的 行数

if(! $retval )
{
    die('无法读取数据: ' . mysqli_error($conn));
}

 $results = array();
$results=mysqli_query($conn,$hang);
if(mysqli_num_rows($results)>0){
    echo '{"status":200,"message":"","total":'.$row.',"rows":{"item":[';  //layui的json格式,具体看下官方文档
    $i=1;
    while($row = mysqli_fetch_assoc($results)) {
        $i++;
        echo json_encode($row, JSON_UNESCAPED_UNICODE);
        if($i<mysqli_num_rows($results)+1){
            echo ",";
        }

    }
    echo "]}}";
}

mysqli_close($conn);

?>
  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
以下是一个基于 Spring MVC 和 layui 数据表格的 AJAX 表格查询实现的示例: 1. 首先,定义一个包含搜索条件的实体类: ``` public class SearchParam { private String name; private Integer age; // 省略 getter 和 setter 方法 } ``` 2. 在控制器中定义处理 AJAX 请求的方法: ``` @Controller @RequestMapping("/user") public class UserController { @RequestMapping("/search") @ResponseBody public Map<String, Object> search(@RequestParam("page") Integer page, @RequestParam("limit") Integer limit, SearchParam searchParam) { // 处理查询逻辑,根据搜索条件查询数据并返回 Map<String, Object> result = new HashMap<>(); // 查询总记录数 int count = userService.getCountBySearchParam(searchParam); // 查询当前页数据 List<User> userList = userService.getListBySearchParam(searchParam, page, limit); result.put("code", 0); result.put("msg", ""); result.put("count", count); result.put("data", userList); return result; } } ``` 3. 在页面中使用 layui 数据表格,并编写 AJAX 请求: ``` <script> layui.use('table', function () { var table = layui.table; table.render({ elem: '#userTable', // 指定原始表格元素选择器(如:#id、.class) url: '/user/search', // AJAX 请求的 URL method: 'post', // 请求方式 page: true, // 开启分页 cols: [[ {field: 'id', title: 'ID', sort: true}, {field: 'name', title: '姓名'}, {field: 'age', title: '年龄', sort: true} ]] }); // 监听搜索按钮点击事件 $('#searchBtn').on('click', function () { // 执行搜索操作 table.reload('userTable', { where: { name: $('#name').val(), age: $('#age').val() } }); }); }); </script> ``` 4. 在页面中添加搜索条件输入框和搜索按钮: ``` <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label">姓名</label> <div class="layui-input-inline"> <input id="name" class="layui-input" type="text" placeholder="请输入姓名"> </div> </div> <div class="layui-inline"> <label class="layui-form-label">年龄</label> <div class="layui-input-inline"> <input id="age" class="layui-input" type="text" placeholder="请输入年龄"> </div> </div> <div class="layui-inline"> <button id="searchBtn" class="layui-btn">搜索</button> </div> </div> ``` 以上就是一个基于 Spring MVC 和 layui 数据表格的 AJAX 表格查询实现的示例,具体实现方式可能会因项目需求而有所不同,可根据个人需求进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值