2014-01-22 85 views
0

一些基本的背景整理出来的if语句...我需要帮助的simplexml的声明

我有输入数据到一个XML文件,并从德XML取决于它满足显示数据的另一个页面的表单要求 。所有这些我都设法完成了,并且感谢这里的一位成员,只要它具有今天的日期和状态,我就可以只显示数据。但是我留下了一个问题,试图对需要显示数据的if语句进行排序,如果有的话,或者如果不是,则显示另一个div。

我的代码...

$lib = simplexml_load_file("sample.xml"); 
$today = date("m/d/y"); 
$query = $lib->xpath("//entry[.//date[contains(., '$today')]] | //entry[.//status[contains(., 'out')]]"); 


foreach($query as $node){ 

echo "<div id='one'>$node->name</div> 
<div id='two'>$node->notes</div> 
<div id='three'><div class='front'>$node->comments</div></div>"; 
} 

因此重申,如果查询返回匹配的数据做别人在foreach显示另一个DIV

我只是想知道,如果soneone的if else语句正确的代码可以对此有所帮助,我将非常感激,只要我有了良好的声誉,我们就会尽快投票。如果之前已经问过这个问题,或者它太模糊了,我还要提前道歉。

+0

你可以扩展你需要检查与如果? –

+0

如果$查询函数返回true,然后回显他们,如果不使用其他希望这有助于感谢 – TheWebMann

回答

2

如果xpath无法解析路径,它将返回false(see here)。总结foreach循环中一个简单的检查:

if($query) { 
    foreach($query as $node){ 
     ... 
    } 
} 
else { 
    // Echo the special div. 
} 

由于PHP宽松类型的,如果发生的XPath返回一个空数组,这种检查也将处理这种情况。请注意,如果xpath调用确实返回false,那么可能会出现单独的错误,可能需要额外或替代处理。

+0

可能是正确的答案,并将接受它作为答案当我的代码的其他部分已被纠正,因为我的查询返回结果的答案匹配,我需要它匹配两个谢谢你的回答 – TheWebMann

+0

非常感谢你的if语句,现在代码的其余部分工作正常我现在可以看到,这正是工作所需要的尽快我有所需的投票声望我会回来这样做谢谢你的快速和最终的正确回应再次感谢你 – TheWebMann

+0

投票再次感谢:) – TheWebMann