当前位置:首页 >> PHP >> PHP基础

php简单实现数组(array_slice)分页的方法

  • PHP基础
  • 2020-04-30 07:15:16
  • 41人已阅读
简介关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页
<p>关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询的结果放在数组中就可以了以下是数组分页的函数,函数page_array用于数组的分页,函数show_array用于分页函数的操作及显示,需要配合使用.两个函数通过全局变量$countpage发生联系,此变量用于跟踪总页码数.</p><h3>1.业务需求:</h3><p style="white-space: normal;">从三个表拿出数据然后合并为一个数组,然后对数组进行分页</p><h3>2.解决1:合并数组</h3><p>获取三个表的数据,然后使用array_column来处理<br/>array_cloumn()第一个参数是数据,第二是字段名</p><pre class="brush:php;toolbar:false">//$date是从数据库中取出的数据,并获取相同的字段列表 $data1&nbsp;=&nbsp;array_column($date1,&nbsp;&#39;user_name&#39;); $data2&nbsp;=&nbsp;array_column($date2,&nbsp;&#39;user_name&#39;); $data3&nbsp;=&nbsp;array_column($date3,&nbsp;&#39;user_name&#39;); //进行数组和并 $data&nbsp;=&nbsp;array_merge($data1,&nbsp;$data2,&nbsp;$data3);</pre><h3>3.对数组进行分页</h3><pre class="brush:php;toolbar:false">&lt;?php&nbsp;&nbsp; /**&nbsp; &nbsp;*&nbsp;数组分页函数&nbsp;&nbsp;核心函数&nbsp;&nbsp;array_slice&nbsp; &nbsp;*&nbsp;用此函数之前要先将数据库里面的所有数据按一定的顺序查询出来存入数组中&nbsp; &nbsp;*&nbsp;$count&nbsp;&nbsp;&nbsp;每页多少条数据&nbsp; &nbsp;*&nbsp;$page&nbsp;&nbsp;&nbsp;当前第几页&nbsp; &nbsp;*&nbsp;$array&nbsp;&nbsp;&nbsp;查询出来的所有数组&nbsp; &nbsp;*&nbsp;order&nbsp;0&nbsp;-&nbsp;不变&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1-&nbsp;反序&nbsp; &nbsp;*/&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; function&nbsp;page_array($count,$page,$array,$order){&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;global&nbsp;$countpage;&nbsp;#定全局变量&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$page=(empty($page))?&#39;1&#39;:$page;&nbsp;#判断当前页面是否为空&nbsp;如果为空就表示为第一页面&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$start=($page-1)*$count;&nbsp;#计算每次分页的开始位置&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;if($order==1){&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$array=array_reverse($array);&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$totals=count($array);&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$countpage=ceil($totals/$count);&nbsp;#计算总页面数&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$pagedata=array();&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$pagedata=array_slice($array,$start,$count);&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$pagedata;&nbsp;&nbsp;#返回查询数据&nbsp;&nbsp; }&nbsp;&nbsp; /**&nbsp; &nbsp;*&nbsp;分页及显示函数&nbsp; &nbsp;*&nbsp;$countpage&nbsp;全局变量,照写&nbsp; &nbsp;*&nbsp;$url&nbsp;当前url&nbsp; &nbsp;*/&nbsp;&nbsp; function&nbsp;show_array($countpage,$url){&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$page=empty($_GET[&#39;page&#39;])?1:$_GET[&#39;page&#39;];&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($page&nbsp;&gt;&nbsp;1){&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$uppage=$page-1;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$uppage=1;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($page&nbsp;&lt;&nbsp;$countpage){&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$nextpage=$page+1;&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}else{&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$nextpage=$countpage;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$str=&#39;&lt;div&nbsp;style=&quot;border:1px;&nbsp;width:300px;&nbsp;height:30px;&nbsp;color:#9999CC&quot;&gt;&#39;;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$str.=&quot;&lt;span&gt;共&nbsp;&nbsp;{$countpage}&nbsp;&nbsp;页&nbsp;/&nbsp;第&nbsp;{$page}&nbsp;页&lt;/span&gt;&quot;;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$str.=&quot;&lt;span&gt;&lt;a&nbsp;href=&#39;$url?page=1&#39;&gt;&nbsp;&nbsp;&nbsp;首页&nbsp;&nbsp;&lt;/a&gt;&lt;/span&gt;&quot;;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$str.=&quot;&lt;span&gt;&lt;a&nbsp;href=&#39;$url?page={$uppage}&#39;&gt;&nbsp;上一页&nbsp;&nbsp;&lt;/a&gt;&lt;/span&gt;&quot;;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$str.=&quot;&lt;span&gt;&lt;a&nbsp;href=&#39;$url?page={$nextpage}&#39;&gt;下一页&nbsp;&nbsp;&lt;/a&gt;&lt;/span&gt;&quot;;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$str.=&quot;&lt;span&gt;&lt;a&nbsp;href=&#39;$url?page={$countpage}&#39;&gt;尾页&nbsp;&nbsp;&lt;/a&gt;&lt;/span&gt;&quot;;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;$str.=&#39;&lt;/div&gt;&#39;;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;$str;&nbsp;&nbsp; }&nbsp;&nbsp; ?&gt;</pre><p><br/></p>
Top