如何有效地分页PHP数组?

时间:2011-10-19 01:18:48

标签: php jquery ajax arrays pagination

我有一个目前使用URL参数分页的数组(例如...... php?page = 2& blah = blop& glob = gloo)。

目前,每次加载页面时,都会从查询引擎下载XML文件,进行解析,然后将我想要使用的对象数组拉出来。

如何设置它以便我不必重新加载页面而只需要读取XML文件一次?

我对PHP很新,所以请耐心等待。经过一番研究后,我认为Ajax适合这个吗?如果我错了,请纠正我。我试图找出一些用Ajax进行分页的东西,但我找到的最有用的东西是从mysql数据库中分页数据,而不是对象数组。

任何人都可以提供任何指示吗?我渴望学习。

4 个答案:

答案 0 :(得分:3)

当我需要这个时,我创建一个缓存函数,或者A)从原始源加载XML然后将其保存到缓存文件夹,或者B)从缓存文件夹中加载它(如果存在)和其他标准(喜欢新鲜感。

在一个必须从相当慢的服务器检索数据的网站上,我将A)放入一个cron作业,并始终从该网站的缓存中读取。

如果您需要大数据分页,这是一个很好的例子:http://net.tutsplus.com/tutorials/php/how-to-paginate-data-with-php/

答案 1 :(得分:1)

您可以调整找到的用于处理数据库的AJAX来处理数据对象,以便只加载一次页面。

答案 2 :(得分:0)

您可以使用memcached将XML缓存在内存中,也可以将其保存到本地文件并从那里读取。

此外,您可以将其保存为其他更快的格式(可能是json?)并将其拆分为文件 - 每个页面一个文件 - 并且只读取您需要的页面的文件。

如果文件是特定于用户的,则其他选项是将其保存在会话中(如果它的数组形式不是太大),或者如果要将其保存在文件中,则将session-id添加到文件名。

这完全取决于你想要对文件及其内容做什么。

答案 3 :(得分:0)

您可能对此课程感兴趣php paginations