用XML和PHP分页?

时间:2013-08-12 03:05:05

标签: php xml pagination

在任何人问之前;我用谷歌搜索了我的'问题',我也看了'可能已经有你的答案的'问题',但没有一个有效。

我想要做的是'分页'。但是,我不想使用数据库,因为我从来没有这样做过,而且我现在不想放弃并转而使用它们,因为XML可以完成我想要的所有工作。

我的代码如下:

$files = glob('include/articles/*.xml');
    foreach($files as $file){
        $xml = new SimpleXMLElement($file, 0, true);
}

我已经尝试过这些:XML pagination with PHPPHP XML paginationPagination Filtered XML file并且没有取得任何成果。我也尝试了很多Javascript'分页'脚本,但仍然没有。

总而言之:我有四篇文章(有更多内容要添加),我希望每页显示2篇文章。以下信息将从xml文件中“拉出”:ID,TITLE,CONTENT,PICTURE,AUTHOR,DATE,执行$ xml-> id等等。有谁知道这样做的方法?因为我已经花了四个小时(格林尼治标准时间凌晨4点04分)并且发现任何有效的东西。 (如果我发现任何有用的东西,我会确保用工作代码包装更新问题,那里还有其他人也需要帮助。)

1 个答案:

答案 0 :(得分:0)

首先,定义您希望文章显示的order。即哪篇文章在第1页上,哪一篇在第2页,等等。这很重要,因为order将是您的分页算法的基础。请注意,glob()不保证以任何特定顺序返回结果,这意味着订单可以更改从一个脚本调用到另一个(特别是当您添加新文章时) - 几乎肯定不是你想要的。

然后第二步是引入另一个变量,它是您网址的一部分,表示您所在的实际网页(number)。 URL查询字符串是放置此信息的自然选择,因此您的网址如下:article.php?page=1。在PHP端,您可以使用$_GET超全局来检索查询字符串参数。

第三,每当您链接到article.php脚本时,都要使用新样式网址。此外,验证输入 - 特别是当您还希望基于此参数显示当前页面时(或者最终会出现注入漏洞)。这也意味着你想要一个默认值(如果值无效/错误/或由于某种原因根本没有提供)。

最后,根据两个关键信息过滤您的文章:w .r.t文章的order。页面number和页码:即计算应出现在当前页面上的实际文章。