php 数组实现分页

//一周之内获取的时间范围      $now_time = time();
          $total_week =isset($_REQUEST[‘total_week‘]) && ($_REQUEST[‘total_week‘] > 0) ? $_REQUEST[‘total_week‘] : 1;
          $begin = $now_time - $total_week * 7 * 86400;
          $statDate = date("Y/m/d", $begin);
          $end = $now_time -($total_week - 1) * 7 * 86400;
          $endDate = date("Y/m/d", $end);
          $pageno = isset($_REQUEST[‘pageno‘]) && ($_REQUEST[‘pageno‘] > 0) ? $_REQUEST[‘pageno‘] : 1;
          $pagesize = 10;

  页面刷新分页

//是否已经采集完
      if ($pageno < $page_total)
      {

          echo ‘<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />‘;
          echo ‘当前第‘.$total_week.‘周,第‘.$pageno.‘页,共‘.$page_total.‘页‘;
          echo ‘<script>self.location="?total_week=‘.$total_week.‘&pageno=‘.($pageno + 1).‘";</script>‘;
          exit;
      }
      else
      {
          if ($total_week > 1)
          {
              $next_week = $total_week - 1;
          }
          else
          {
              echo ‘<script>self.location="xinshengbl.php";</script>‘;
              echo ‘ok‘;
          }

          echo ‘<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />‘;
          echo ‘当前第‘.$total_week.‘周,第‘.$pageno.‘页,共‘.$page_total.‘页‘;
          echo ‘<script>self.location="?total_week=‘.$next_week.‘&pageno=1";</script>;‘;
          exit;
      }
     return $this->page_array($pagesize,$pageno,$result[‘goods_list‘],0);

  数组分页函数

    /**
     * 数组分页函数  核心函数  array_slice
     * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中
     * $count   每页多少条数据
     * $page   当前第几页
     * $array   查询出来的所有数组
     * order 0 - 不变     1- 反序
     */
    public function page_array($count,$page,$array,$order){
        global $countpage; #定全局变量
        $page=(empty($page))?‘1‘:$page; #判断当前页面是否为空 如果为空就表示为第一页面
        $start=($page-1)*$count; #计算每次分页的开始位置
        if($order==1){
            $array=array_reverse($array);
        }
        $totals=count($array);
        $countpage=ceil($totals/$count); #计算总页面数
        $pagedata=array();
        $pagedata=array_slice($array,$start,$count);
        return $pagedata;  #返回查询数据
    }

  

原文地址:https://www.cnblogs.com/cnn2017/p/11434245.html

时间: 2024-10-12 02:30:21

php 数组实现分页的相关文章

PHP基于数组的分页函数(核心函数array_slice())

关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页,函数show_array用于分页函数的操作及显示,需要配合使用.两个函数通过全局变量$countpage发生联系,此变量用于跟踪总页码数. <?php /** * 数组分页函数 核心函数 array_slice * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中 * $count 每页多少条数据 * $pag

php基于数组的分页实现

关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页,函数show_array用于分页函数的操作及显示,需要配合使用.两个函数通过全局变量$countpage发生联系,此变量用于跟踪总页码数. <?php /** * 数组分页函数 核心函数 array_slice * 用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中 * $count 每页多少条数据 * $pag

thinkphp 下多个数组组合分页

1.假如有多个数组的情况下,又想在前端分页展示,用tp5自带的paginate 和 each 方式,个人觉得很麻烦:例如:             $result = array_merge($assemble,$disassembly,$picking,$returnpicking,$overstock,$invtransfer); 2.可以使用以下方式解决            $count = count($result);         $p = getpage($count,$thi

laravel:数组手动分页 --paginate()方法

use Illuminate\Pagination\LengthAwarePaginator;use Illuminate\Pagination\Paginator; $perPage = 10; //每页显示数量if ($request->has('page')) { $current_page = $request->input('page'); $current_page = $current_page <= 0 ? 1 :$current_page;} else { $curre

Yii2.0实用功能技巧解密之——分页功能

Yii中的分页功能主要由yii\web: Linkable接口.yii\widgets: LinkPager类和yii\data: Pagination类三个组成. yii\data: Pagination 主要功能是对分页中的参数进行设置,如当前页.每页大小.总页数,总记录数等. yii\widgets: LinkPager 主要是根据yii\data: Pagination类所提供的参数生成前台页面的分页html代码. 使用:先在action里面生成分页对象,然后在前台的LinkPager中

pdo分页

<?php            开源it /** 文件: pdo_page.class.php ** 版本: 2.0 ** 功能: 使用php数据对象(pdo)实现数据的分页显示 ** 运行环境: **                ① php版本--5.1以上(包括5.1) **                ② 打开pdo扩展(默认为关闭) **                ③ 打开与所使用db相应对应的pdo扩展(默认为关闭) ** ** DISCLAIMER: ** Distribu

MyBatis精通之路之分页功能的实现

MyBatis精通之路之分页功能的实现(数组分页.sql分页.拦截器,RowBounds分页) 原创 2017年04月27日 21:34:48 标签: mybatis / java / j2ee / mysql / 分页 4162 前言:学习hibernate & mybatis等持久层框架的时候,不外乎对数据库的增删改查操作.而使用最多的当是数据库的查找操作, 而当数据库数据过多时,符合查找条件的数据可能也会是很庞大的数据.往往在这个时候,我们都不会希望一次性的将所有的数据一起性读取出来,并且

mysql分库 分页查询

Mysql海量数据分表分库如何列表分页? 1.现在使用ElasticSearch了.基于Lucene的解决方案 2.必须将mysql里的数据写入到类似hbase这样的分布式数据库,查询快.但分页.查询的话,可以在hbase前加一层solr,用于建立数据索引 如何对分库后的数据进行分页查询? yeyingsheng 发布于 2015/04/21 10:18 阅读 7K+ 收藏 1 答案 7 Spring iBATIS si项目,现在连接6台mysql数据库,路由分库算法是根据id的hash值%6,

Mybatis通过RowBound分页(简单实例)

RowBounds实现分页原理:通过RowBounds实现分页和通过数组方式分页原理差不多,都是一次获取所有符合条件的数据,然后在内存中对大数据进行操作,实现分页效果.只是数组分页需要我们自己去实现分页逻辑,|这里更加简化而已. 缺点:一次性从数据库获取的数据可能会很多,对内存的消耗很大,可能导致性能变差,甚至引发内存溢出. 适用场景 :在数据量很大的情况下 ,建议还是适用拦截器实现分页效果.RowBounds建议在数据量相对较小的情况下使用. 简单实例 1.xml查询所有结果 <select