2015-02-07 58 views
0

这是我当前的代码:PHP/Smarty的 - 确定一个空的 “的foreach”

{php} foreach($result as $key=>$value) 

{ echo "<div class='internalpadding'>"; 

{/php} 

This is a test. 

{php} } {/php} 

此代码显示 “这是一个考验。”一行中的特定时间 - 用户在数据库中的每个帖子的一次。这部分工作完美。

但是,如果用户没有帖子,则根本没有显示。这是有道理的,因为它应该只是显示已存在的帖子的文本。但是,有没有办法让它给出某种类型的消息,如“没有该用户的帖子”,如果没有发现任何使用foreach

+0

有'{foreach}的'和'{foreachelse}'在智者http://www.smarty.net/docsv2/en/language.function .foreach.tpl你的代码很奇怪:使用模板引擎很奇怪,然后在模板中使用php – zerkms 2015-02-07 22:04:40

+0

不幸的是,PHP文件被加密,所以我被卡在模板文件中进行调整。 – James 2015-02-07 22:09:37

+0

好的,他们是。我只是说在模板中使用“{php}”很奇怪。 – zerkms 2015-02-07 22:12:13

回答

0
if ($result == null) 
echo "There are no posts for this user" ; 
else { 
     foreach($result as $key=>$value) 

     { echo "<div class='internalpadding'>"; 
      echo "This is a test" ; } 
} 
+0

问题是关于'smarty'具体而言,不是纯粹的PHP。 '$ result == null'检查是愚蠢的顺便说一句。只要它是一个数组,就必须检查它的大小。 – zerkms 2015-02-07 22:26:28

0
{if $result|@count == 0} 
There are no posts for this user 
{else} 
    {foreach from=$result item=$post} 
    <h2>{$post->title}</h2> 
    <p>{$post->text}</p> 
    {/foreach} 
{/if} 

为什么不使用时只需智者