漏刻有时php集合layui动态表格翻页和搜索的代码分析

搜索参数传递

  1. 采用get方式,URL传递,主要考虑翻页page的传递;
  2. 出于安全需要,对参数进行过滤;
		@$branch_id = get_param('branch_id');
		if ($branch_id == "") {
			$branch_id = $_COOKIE["branch_id"];
		}
		@$major_id = explode(',', get_param('major_name'))[0];
		@$pool_able = $_GET['pool_able'];
		if ($pool_able == ""){
		    $pool_able='0';
		}
		@$keys = get_param('keys');

翻页参数传递

  1. 获取page参数,并格式化为十进制,判断为0是,自动为1;
  2. 设置默认每页的数据数量变量$pagenum;
  3. 设置偏移量$startI
		$page    = get_param('page');
		$page    = intval($page) == 0 ? 1 : intval($page);
		$pagenum = 30;
		$startI  = $page * $pagenum - $pagenum;

layui翻页格式传递

  1. 总记录的计算:$count = count($row_c);
  2. 搜索条件必须和主语句同步,否则总记录不准确,会导致翻页错乱;
  3. code=0,msg=0,是layui的固定格式,不可缺少;

完整搜索和翻页代码

	//获取总记录;
	$sql_c = "select a.pool_id,a.member_id,a.branch_id,a.major_id,a.pool_address,a.pool_mask,a.pool_gateway,a.pool_able,b.major_id,b.major_name from " . $db->table('pool') . " AS a," . $db->table('category') . " AS b WHERE 1";
		$sql_c .= " AND a.major_id = b.major_id AND a.branch_id =" . $branch_id;
		if ($major_id != "") {
			$sql_c .= " AND a.major_id =" . $major_id;
		}
		if ($keys != "") {
			$sql_c .= " AND a.pool_address like '%" . $keys . "%'";
		}
		if ($pool_able != "") {
			$sql_c .= " AND a.pool_able =" . $pool_able;
		}
		$sql_c .= " ORDER BY a.pool_id ASC";
		$row_c = $db->queryall($sql);
		$count   = count($row_c);
		@$branch_id = get_param('branch_id');
		if ($branch_id == "") {
			$branch_id = $_COOKIE["branch_id"];
		}
		@$major_id = explode(',', get_param('major_name'))[0];
		@$pool_able = $_GET['pool_able'];
		if ($pool_able == ""){
		    $pool_able='0';
		}
		@$keys = get_param('keys');
		$page    = get_param('page');
		$page    = intval($page) == 0 ? 1 : intval($page);
		$pagenum = 30;
		$startI  = $page * $pagenum - $pagenum;
		
	//获取总记录;
	$sql_c = "select a.pool_id,a.member_id,a.branch_id,a.major_id,a.pool_address,a.pool_mask,a.pool_gateway,a.pool_able,b.major_id,b.major_name from " . $db->table('pool') . " AS a," . $db->table('category') . " AS b WHERE 1";
		$sql_c .= " AND a.major_id = b.major_id AND a.branch_id =" . $branch_id;
		if ($major_id != "") {
			$sql_c .= " AND a.major_id =" . $major_id;
		}
		if ($keys != "") {
			$sql_c .= " AND a.pool_address like '%" . $keys . "%'";
		}
		if ($pool_able != "") {
			$sql_c .= " AND a.pool_able =" . $pool_able;
		}
		$sql_c .= " ORDER BY a.pool_id ASC";
		$row_c = $db->queryall($sql);
		$count   = count($row_c);
		
		$pages   = getPages($count, $page, $pagenum);

		$sql = "select a.pool_id,a.member_id,a.branch_id,a.major_id,a.pool_address,a.pool_mask,a.pool_gateway,a.pool_able,b.major_id,b.major_name from " . $db->table('pool') . " AS a," . $db->table('category') . " AS b WHERE 1";
		$sql .= " AND a.major_id = b.major_id AND a.branch_id =" . $branch_id;
		if ($major_id != "") {
			$sql .= " AND a.major_id =" . $major_id;
		}
		if ($keys != "") {
			$sql .= " AND a.pool_address like '%" . $keys . "%'";
		}
		if ($pool_able != "") {
			$sql .= " AND a.pool_able =" . $pool_able;
		}
		$sql .= " ORDER BY a.pool_id ASC LIMIT " . $startI . ',' . $pagenumt;
		$row = $db->queryall($sql);

lockdatav Done!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

漏刻有时

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值