热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP实现MySQL分页查询功能优化与实践

本文探讨了在PHP中实现MySQL分页查询功能的优化方法与实际应用。通过详细分析分页查询的常见问题,提出了多种优化策略,包括使用索引、减少查询字段、合理设置缓存等。文章还提供了一个具体的示例,展示了如何通过优化模型加载和分页参数设置,显著提升查询性能和用户体验。

调用例子:

$fenzhan_prize_order_db = pc_base::load_model('fenzhan_prize_order_model');

$page = max(intval($_REQUEST['page']), 1);
      $pagesize = isset($_REQUEST['pagesize']) ? $_REQUEST['pagesize'] : 10;
      $mydb =pc_base::load_model('mymodel');
      $sql = "SELECT* FROM {$fenzhan_prize_order_db->get_tablename()} wherebiaoshi='" .$this->fenzhan[biaoshi]."'order by inputtime desc";
      $mpages = $mydb->query_listinfo($sql,$page,$pagesize);

$mpages =$mydb->query_listinfo($sql,$page,$pagesize);

$msg =array();
$msg['returncode']= "0";
$msg['msg']= "文章";
$msg['comment']= $mpages;
echo JSON($msg);

 

分页方法:

public function query_listinfo(&$sql = '', $page = 1, $pagesize= 20, $setpages = 10,$array = array()) {
    //取得记录总数$rs,计算总页数用
    $array=$this->query_by_sql("SELECT count(1) as total FROM ( $sql) as a");
    $total=$array[0]['total'];
    //计算总页数
   
$pages=intval(intval($total)/$pagesize);
    if ($total%$pagesize) {
        $pages++;
    }
    //设置页数
   
if (isset($page)){
        $page=intval($page);
    }
    else{
        //设置为第一页
       
$page=1;
    }
    //计算记录偏移量
   
$offset=$pagesize*($page - 1);
    //读取指定记录数
   
$infos= $this->query_by_sql("$sql limit $offset,$pagesize");
    $mpages =new mpages();
    $mpages->page=$page;
    $mpages->total=$total;
    $mpages->pagesize=15;
    $mpages->data=$infos;
    return $mpages;
}

 


推荐阅读
  • 本文介绍了在处理财务凭证查询时,如何实现从插入或修改页面返回至原始查询结果页面,并确保数据保持最新状态的方法。通过使用JavaScript和Java的Session管理技术,解决了动态页面中AJAX调用失效的问题。 ... [详细]
  • 本文通过一个具体的用户管理项目,详细介绍如何使用Spring MVC框架进行开发。从用户实体类的设计到控制器的实现,再到视图层的展示,全面解析Spring MVC的核心功能与实现细节。 ... [详细]
  • 本文探讨了在Java应用中,由于对象间循环引用导致重写toString方法时出现StackOverflowError的具体情况,并提供了有效的解决方案。 ... [详细]
  • 学习目的:1.了解android线程的使用2.了解主线程与子线程区别3.解析异步处理机制主线程与子线程:所谓主线程,在Windows窗体应用程序中一般指UI线程,这个是程序启动的时 ... [详细]
  • Flutter入门指南:实现自动关闭的对话框与提示
    本文为Flutter系列教程的一部分,专注于讲解如何在Flutter应用中实现自动关闭的对话框和提示。通过具体的代码示例,帮助开发者掌握SnackBar、BottomSheet和Dialog的使用方法。 ... [详细]
  • 本文介绍如何利用JavaScript在页面加载时为ASP.NET的DropDownList控件设置特定的选项值。 ... [详细]
  • 本文详细介绍了RocketMQ中的消息并发消费机制,包括消息拉取后的处理流程、消费服务的调用以及消费任务的具体执行过程。 ... [详细]
  • 本文介绍了如何从给定的JSON响应中正确地提取产品标题等信息。 ... [详细]
  • 深入理解Play Framework 1.2.7中的缓存机制
    本文探讨了Play Framework 1.2.7版本中提供的缓存解决方案,包括Ehcache和Memcached的集成与使用。文章详细介绍了缓存相关的类及其功能,以及如何通过配置选择合适的缓存实现。 ... [详细]
  • 本文详细介绍了如何在Unity中使用贝塞尔曲线来实现物体的平滑移动。通过定义一个辅助工具类和一个移动控制类,可以轻松地让物体沿着预设的贝塞尔曲线路径移动。 ... [详细]
  • 本文介绍了如何在 Linux 系统上构建网络路由器,特别关注于使用 Zebra 软件实现动态路由功能。通过具体的案例,展示了如何配置 RIP 和 OSPF 协议,以及如何利用多路由器查看工具(MRLG)监控网络状态。 ... [详细]
  • 重构:优化现有代码设计(第二版)笔记
    本文介绍了重构的基本概念,通过具体示例展示了如何提炼函数以处理过长的代码段,并探讨了多种重构技术,如分阶段重构、封装变量等。 ... [详细]
  • 本文由Jogis撰写,详细探讨了React中的组件设计模式,包括控制组件、非控制组件及混合模型组件,分析了各自的优缺点及其应用场景。 ... [详细]
  • 使用Python轻松合并大量复杂Excel文件
    当面对大量的Excel文件时,如何高效地将它们合并成一个文件成为了一项挑战。本文将指导初学者如何利用Python的几个库,在几十行代码内完成这一任务。 ... [详细]
  • 本文介绍如何使用Python编写一个简单的爬虫程序,从知乎问题页面抓取美腿图片。环境配置包括Windows 10操作系统,Python语言及其相关库。 ... [详细]
author-avatar
迷彩三角裤_625
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有