2014-07-20 328 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? –