0

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

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

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

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

4

1 回答 1

1

你需要在某个地方引入一些状态,这样你就可以记住你要去哪里。

您可以在每次使用 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数组中,然后您可以在脚本中查询这些参数。查找有关标题的文档以获取更多信息。

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

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

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

于 2013-05-14T18:56:02.937 回答