Heim  >  Artikel  >  Backend-Entwicklung  >  jquery - php 如何操作数组分页?

jquery - php 如何操作数组分页?

WBOY
WBOYOriginal
2016-06-06 20:17:301226Durchsuche

新人。。公司有个php练手的项目。 现在出现了这样的问题:公司用的是QeePHP 比较老,然后公司项目基本上都是是使用框架的数据库查询,然后通过SQL的limit来限定 进行数据的分页筛选的。
因为我要的数据需要合并排序之类的。。 就把读取出来的数据全部保存在了一个大的数组里, 现在数据显示没有任何问题,同时还有搜索功能也完成了。 可以在网页上显示出所有的数据。但是分页功能没有做。希望大神提供一些思路。。 公司同事用了jQuery的方法和array_slice的方法 似乎可以基本上完成分页。。但不是特别理解。。不知道有没有什么比较好的方法。。
谢谢~

回复内容:

新人。。公司有个php练手的项目。 现在出现了这样的问题:公司用的是QeePHP 比较老,然后公司项目基本上都是是使用框架的数据库查询,然后通过SQL的limit来限定 进行数据的分页筛选的。
因为我要的数据需要合并排序之类的。。 就把读取出来的数据全部保存在了一个大的数组里, 现在数据显示没有任何问题,同时还有搜索功能也完成了。 可以在网页上显示出所有的数据。但是分页功能没有做。希望大神提供一些思路。。 公司同事用了jQuery的方法和array_slice的方法 似乎可以基本上完成分页。。但不是特别理解。。不知道有没有什么比较好的方法。。
谢谢~

分页有几个要素
define('PAGE_LENGTH', 15); //每页显示条数
$total_count = count($data_array); //数据条数
$total_pages = ceil($total_count / PAGE_LENGTH); //总页数
$current_page = $_GET['page']; //当前页数
$page_list = range(1, $total_pages); //页数列表, 当然如果只有1页或没有数据要判断一下

还有就是当页数据
$data = array_slice($data_array, ($current_page - 1) * PAGE_LENGTH, PAGE_LENGTH); //取出数据, 不管是从一个大数据当中,还是从数据库里, 都差不多

个人经验,分页一般是为了两点。1,界面显示优化 2,加载速度优化
如果是单纯的界面显示优化,这种很简单,建议使用开源的jquery插件,比如datatable来显示你的数据,使用ajax传值;
如果是第二种,一般对应数据量比较大的情况,比如企业报表,最好不要把数据全部取出来再做merge、rank操作,折让内存开销很大,用户体验很差。正确做法应该是按照排序字段 order by 从数据库load出page_size的少量数据,再做数据补全工作。

框架还是原生。
你的问题是问如何分页吗,手机打不了代码但你可以在百度搜个demo很简单的不要怕。

好多年前学php做了个分页,已经忘光了。

可以下载thinkphp源码,里面有个数据分页的类。可以参考一下

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn