• MysqliDb 库的一些使用简单技巧(php)


    一.分页功能

    假设接口要接受输入:page, page_limit,key,value,table 来查询 table 中 key like value 的元组中以 page_limit 为 page size 时第 page 页的数据。

    要求输出为:{"count" => $count,"row" => $result},其中 count 为总元组数,row 为当前返回页的元组

     在 mysqliDb 中,能获取元组计数的方式有如下 3 种:

    1. $count = self::$_db->getValue(self::$_table_name, "count(*)"); // 这种计数方式不接受任何 where 条件。
      //即获取的 count 为表 _table_name 中的总元组数。用来做模糊查询分页显然是不可行的

    2. self::$_db->pageLimit = $page_limit;
      slef::_db->where(key, value, "like");
      $result = self::$_db->arrayBuilder()->paginate(self::$_table_name, $page, $columns);
      $count = self::$_db->count;//这里得到的 count == count($result),显然不是我们期望的结果
      //且 $_db->count 中的 count 是在实际查询操作后才被赋值的,在这段代码中即是在 paginate 操作后被赋值的

    3. $begin = ($page - 1) * $page_limit;
      $result = self::$_db->withTotalCount()->get(self::$_table_name, array($begin, $page_limit), $columns);
      //从第begin条元组开始,返回 page_limit 条元组。并给 totalCount 赋值 limit 限制外的结果即我们想要的count总数
      $count = self::$_db->totalCount;

    显然,通过第 3 中方式我们可以很简单地实现上题中的需求

  • 相关阅读:
    python设计模式
    tomcat在ubuntu下的配置
    排序算法
    python爬虫(一)
    python实现推荐系统(二)
    python实现k近邻
    python实现逻辑回归
    python实现推荐系统(一)
    SGD实现推荐系统
    pyqt4+chatterbot实现简单聊天机器人程序
  • 原文地址:https://www.cnblogs.com/geloutingyu/p/9861495.html
Copyright © 2020-2023  润新知