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

简介: 漏刻有时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!


相关文章
|
7月前
|
安全 关系型数据库 PHP
百度搜索:蓝易云【php适合做erp吗?】
虽然PHP在ERP开发中具有很多优势,但在实际开发中还需要根据项目的具体需求和规模来选择合适的技术栈和架构。ERP系统通常是复杂的,需要综合考虑数据库设计、安全性、性能等因素。因此,在开发ERP系统时,建议仔细规划和设计,充分了解业务需求,并选择适合的技术和开发工具来实现一个稳定、高效、安全的ERP系统。
58 0
|
7月前
|
存储 算法 安全
百度搜索:蓝易云【php几种常用的加密解密算法】
请注意,以上算法都有各自的特点和用途,选择合适的加密解密算法应根据具体需求和安全性要求。此外,加密只是数据保护的一部分,安全实现还应考虑其他因素,如密钥管理、访问控制和安全传输等。
81 0
|
2月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP开发领域,设计模式是解决常见问题的高效方案集合。它们不是具体的代码,而是一种编码和设计经验的总结。单例模式作为设计模式中的一种,确保了一个类仅有一个实例,并提供一个全局访问点。本文将深入探讨单例模式的基本概念、实现方式及其在PHP中的应用。
单例模式在PHP中的应用广泛,尤其在处理数据库连接、日志记录等场景时,能显著提高资源利用率和执行效率。本文从单例模式的定义出发,详细解释了其在PHP中的不同实现方法,并探讨了使用单例模式的优势与注意事项。通过对示例代码的分析,读者将能够理解如何在PHP项目中有效应用单例模式。
|
7月前
|
关系型数据库 MySQL
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
web简易开发(二){html5+php实现文件上传及通过关键字搜索已上传图片)}
|
6月前
|
SQL 监控 安全
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
代码审计-PHP原生开发篇&SQL注入&数据库监控&正则搜索&文件定位&静态分析
|
6月前
|
SQL 前端开发 PHP
php不使用Office包实现上万条数据导出表格
经过上传客户要求主副表迁出,又提出可以将某张表的数据导出excel,听着很简单,实际看数据表发现上万条数据,并且需要关联表查询相关字段,导出的表格才可以被客户看明白。 要是使用office包目前后台内存耗尽,被迫停止运行,所以想要突破百万条数据导出需要另辟它路。所以就是使用了导出CSV并非excel文件。 1、设置程序需要一直运行并设置运行内存(php提示过128M)
|
7月前
|
缓存 NoSQL PHP
百度搜索:蓝易云【如何使用PHP进行数据库索引优化?】
通过以上方法,你可以使用PHP进行数据库索引优化,提高数据库查询性能和整体应用性能。同时,定期维护数据库和优化查询语句也是保持数据库高性能的关键。
76 11
|
7月前
|
SQL PHP 数据库
php实现搜索功能(不加任何修饰,提供全部)
php实现搜索功能(不加任何修饰,提供全部)
php实现搜索功能(不加任何修饰,提供全部)