2012-08-12 51 views
0

我有下面這行不存在從頁面圖像:隱藏使用回聲功能

<td><img src="Photos/<? echo $rows['photo1']; ?>" height="200" /></td> 

我並不總是有照片。我想隱藏圖像空間。它看起來像是壞了或如果URL是錯誤的。

+1

不能這樣做'如果($行[ '照片1'] = '!')......回聲$行['照片1 ']'在你的模板中? – 2012-08-12 22:23:32

+0

在img標籤中嘗試'onerror =「this.style.display ='none''我在回答中給出了一個例子 – Brett 2012-08-12 22:51:08

+1

如果你使用的是本地圖像,你可以使用'if file_exists('path/to/image'。$ rows ['photo1']'; – Krynble 2012-08-12 23:20:39

回答

2
<td><?php echo (!empty($rows['photo1']) ? '<img src="Photos/' . $rows['photo1'] . '" height="200" />' : '') ?></td> 
+0

我個人偏好,應該謹慎使用三元組,不應該插入模板代碼。意見(沒有downvote) – 2012-08-12 22:28:50

+1

我不認爲@drftorres將HTML從PHP中分離出來,這裏的座右銘是:「如果它看起來很愚蠢,它的工作原理,它不愚蠢。」:) – Martin 2012-08-12 22:30:48

+0

如果它看起來很愚蠢,而且很愚蠢,它很愚蠢(但仍然...) – 2012-08-12 22:33:49

-1

也許這是根據自己的喜好:

<img src="Photos/<? echo $rows['photo1']; ?>" height="200" onerror="this.style.display='none'" /> 

它集圖像時,有一個問題不顯示(如URL損壞)。

這樣做的好處是可以避免使用三元組,從HTML中分離出PHP,並且在不需要過多文檔的情況下保持清晰。希望能幫助到你。

1

要想沒有<img>標籤出現空白值,我會使用這樣的:

<?php if (($rows['photo1'] !== "") || ($row['photo1'])) 
     { 
     echo "<td><img src='Photos/" . $rows['photo1'] . "' height='200' /></td>"; 
     } 
?> 

如果(圖像不是空白,它的存在){ 然後,呼應IMG標籤和變量 }


或者,如果你想顯示一個不同的我法師爲空值:

<td> 
    <img src="Photos/<?php if ($rows['photo1'] !== ""){echo $rows['photo1'];} 
        else {echo "defaultimg.jpg";}?>" height="200" /> 
</td> 

希望這有助於:)

+0

另外,請參閱上面的@Krynble的評論。 – 2012-08-12 23:25:46