2013-05-14 61 views
0

我有一个xml源,我可以使用simplexml_load_file访问并使用每个访问中的所有记录。我还可以用来访问单个节点如下:在页面刷新时解析xml feed中的下一个值

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

我想BLE做的是indvidually显示依次从每一个记录,即招什么[0] [1]等依次刷新页面,但不知道如何去做。

我只是一个业余爱好者,所以请原谅我,如果这是一个有点福利局问题

回答

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的信息。

+0

非常感谢你的帮助! – Textus 2013-05-15 15:00:23