我有一个xml feed,我可以使用simplexml_load_file访问它,并为每次访问使用其中的所有记录。我还可以使用以下方法访问单个节点:
$xml->property[0]->propertyID;
我想要做的是依次单独显示每个记录,即从[0]移动到[1]等依次刷新页面,但不知道如何去做。< / p>
我只是一个业余爱好者所以如果这是一个新问题,请原谅我
答案 0 :(得分: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的详细信息,请参阅此处。