【问题标题】:parse next value from xml feed on page refresh在页面刷新时从 xml 提要解析下一个值
【发布时间】:2013-05-15 02:56:50
【问题描述】:

我有一个 xml 提要,我可以使用 simplexml_load_file 访问它,并且每次访问都使用其中的所有记录。我还可以使用以下方法访问单个节点:

$xml->property[0]->propertyID;

我想要做的是依次显示每条记录,即在页面刷新时依次从 [0] 移动到 [1] 等等,但不知道该怎么做。

我只是一个业余爱好者,所以如果这是一个新手问题,请原谅我

【问题讨论】:

    标签: php xml


    【解决方案1】:

    你需要在某处引入一些状态,这样你才能记住你要去哪里。

    您可以使用浏览器count up each time the page is refreshed using a cookie,也可以通过将当前节点号存储在某个位置(在数据库、文件或 URL 中)在服务器端记住这一点。

    可能最简单的做法是将下一个节点号添加到 URL 的末尾,这样当重新加载该页面时,您将在服务器端看到该参数并可以加载该节点。像这样的:

    $node = 0;
    if (empty($_GET['nextnode']))
    {
        header('Location: example.php?nextnode=' . node + 1);
    } else {
        $node = $_GET['nextnode'];
    }
    ...
    $xml->property[$node]->propertyID;
    

    当页面刷新时,它会像往常一样向您的 PHP 脚本发出请求,但它会在请求的 URL 末尾有类似这样的内容:

    ?nextnode=23
    

    PHP 会将这些 URL 参数存储在 $_GET 数组中,然后您可以在脚本中查询该数组。查看documentation on header了解更多信息。

    另一种类似的技术是在 PHP 中创建页面时将值存储在隐藏的表单字段中:

    echo '<form>
        <input type="hidden" value="'.$node + 1.'" />
        <input type="submit" value="Next Node" />
    </form>';
    

    这将在页面上创建一个“下一个节点”按钮,并在有人单击它时作为表单提交返回给您。然后,您可以查找下一个节点并重新显示该页面。有关dealing with forms in PHP 的更多信息,请参见此处。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-13
      • 1970-01-01
      相关资源
      最近更新 更多