2009-01-30 15 views
1

嗨基本上,我想創建一個簡單的IF語句,顯示默認圖片,如果沒有輸入到我的數據庫。我使用服務器來存儲我的圖片和一個數據庫來存儲文件名,所以我可以讓圖像顯示,如果它在數據庫中有一個文件名,但我想If語句來說,如果該記錄是空的顯示此默認圖片。我在這裏有一些代碼,但我沒有嘗試過任何想法?我嘗試了其他一些方法,但他們也沒有工作。PHP如果其他語句數據庫記錄是空的它將顯示一個默認圖片

乾杯。

到目前爲止的代碼:

//Retrieves data from MySQL 
$data = mysql_query("SELECT * FROM db*****") or die(mysql_error()); 

//Puts it into an array 
while($info = mysql_fetch_array($data)) 
{ 
?> 

     <div class="member"> 
     <div class="imageSection"> 
     <? 

     if($info['photo'] == '') 
     {echo "<img class=\"memberImage\" src=images/default.jpg>";} 
      else {echo "<img class=\"memberImage\" src=images/".$info['photo'] .">";} 
     ?> 
     </div> 
     <div class="memberInfo"> 
<? Echo "<p><strong>Name: ".$info['nameMember'] . "</strong></p>"; 
Echo "<p>Position: ".$info['bandMember'] . " </p>"; 
Echo "<p>About Band Member ".$info['nameMember'] .":".$info['aboutMember'] . "</p>"; 
Echo "<p>Other Bands: ".$info['otherBands'] . " </p><br/></div></div><br class=\"clearBoth\"/>"; 

} 
?> 
+0

哪部分不工作?看起來你想要引用你的img src屬性,例如src =「文件名」,但除此之外它看起來沒問題。 – 2009-01-30 20:50:54

+0

您是否嘗試過print_r($ info)以查看該值實際上是否是「'而不是其他內容? – feihtthief 2009-01-30 21:01:28

回答

4

什麼簡單的ternary

$photo = ($info['photo'] == null) ? "default.jpg" : $info['photo']; 
echo "<img class=\"memberImage\" src=images/". $photo .">"; 
+0

我厭倦了,但它沒有顯示默認圖片。它顯示上傳的圖片,這與我上面提供的代碼有同樣的問題。謝謝,你有沒有其他想法? – 2009-01-30 21:05:54

1

確定爲列的默認值設置爲 「」。它可以設置爲空?雖然id​​k,如果這會導致它無法正常工作。

if語句

echo $info['photo']; 

建議之二是相比之前修剪數據之前添加以下代碼。

1

您可以使用file_exists,即使手動刪除圖像也可以使用。

$photo = 'images/'. $info['photo']; 
if (file_exists($photo) == FALSE) 
{ 
    $photo = 'images/default.jpg'; 
} 
echo '<img class="memberImage" src="'. $photo .'"/>'; 
0

empty()能趕上那種你之後的條件,所以儘量

if(empty($info['photo'])) 
{ 
    .... 
} 

空()如果該參數 '返回TRUE',NULL,假, '0',0,或一個空陣列。