2014-07-20 325 views
-1

我从mySQL数据库中提取图像和信息,并显示一些PHP函数。有时,所有的信息都不存在,我基本上需要它display:none;,但我似乎无法得到它 - 我错过了什么?这里是我的显示功能:PHP如果和else语句 -

<?php if ($recipe->hassliderimage5 == true) { 
    $recipe->show_image_carousel5(); 
    } else { 
    } 

?> 

这里是PHP函数从数据库中调用它 -

if (trim(mysql_result($this->result,0,"imageCarousel5") != '')) {$this->hassliderimage5 = true;} else {$this->hassliderimage5 = false;} 

下面是我得到了什么,对我想要的东西的工作 - 不知道这是否是最好的解决方案或不?我对PHP还是一种新鲜感。

<?php if ($recipe->hassliderimage5 == true) { ?> 
     <div id="sliderimageFive" class="item"> 
      <?php 
       $recipe->show_image_carousel5(); 
      ?> 
     </div>  
<?php } ?> 

回答

0

您似乎在收集必须显示的数据之前创建视图时出错。更合理的应用程序结构是从数据库获取数据,验证数据,然后根据您拥有的数据量和数据类型创建视图。

而且,看看这个:Why shouldn't I use mysql_* functions in PHP?

+0

好吧我来看看。谢谢@Chris – jacob

0

我无法评论,因为我没有足够的声誉,所以我尝试用一​​个答案。

为什么你正在使用mysql_result($this->result,0,"imageCarousel5") != ''修剪这段代码会给你无论是真的还是假的没有字符串,你必须修剪

也许要修剪mysql_result的回报,然后检查其空

if (trim(mysql_result($this->result,0,"imageCarousel5")) != '') {$this->hassliderimage5 = true;} else {$this->hassliderimage5 = false;} 
0

你可以做个试验:

<?php if (filter_var(recipe->hassliderimage5, FILTER_VALIDATE_BOOLEAN) == true) { 
    $recipe->show_image_carousel5(); 
} else { 
    // do other 
} 
?> 

如果返回真,如果 '配方相关> hassliderimage5' 的值为 “1”, “真实”, “开” 和 “是”

享受您的代码!

+0

overengineering? –