【问题标题】:Pagination with XML and PHP?使用 XML 和 PHP 进行分页?
【发布时间】:2013-08-12 03:05:04
【问题描述】:

在任何人问之前;我用谷歌搜索了我的“问题”,我还查看了“可能已经有你答案的问题”,但它们都不起作用。

我想做的是“分页”。但是,我不想使用数据库,因为我从来没有使用过,我宁愿不放弃,现在就去使用它们,因为 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 分),但还没有发现任何可行的方法。 (如果我发现任何可行的方法,我会确保使用工作代码更新问题,以确保还有其他人也需要帮助。)

【问题讨论】:

    标签: php xml pagination


    【解决方案1】:

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

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

    第三,当您链接到article.php 脚​​本时,请使用新样式的 URL。此外,验证输入——尤其是当您还想根据此参数显示当前页面时(否则您将最终遇到注入漏洞)。这也意味着您想要一个默认值(以防该值无效/错误/或由于某种原因根本没有提供)。

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

    【讨论】:

    • 谢谢 :-) 我不知道该去哪里。生病让你知道发生了什么。如果我让它工作不正常,请发布上面的结果。
    猜你喜欢
    • 2013-03-20
    • 2011-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多