热门标签 | 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;
}

 


推荐阅读
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社区 版权所有