2012-12-27 123 views
-1

我很難找到一個空mysql查詢的簡單解決方案。我想要的是爲一行檢索並清空,默認情況下替換爲'no-image.png'。如果我的代碼看起來像這樣,我該怎麼辦?用字符串替換空行

$query="SELECT 
venues.* 
LEFT JOIN events 
ON events.VENUE_LOCATION = venues.ID 
where events.VENUE_LOCATION IS NULL 
ORDER BY VENUE_NAME"; 

$result = mysql_query($query) or die(mysql_error()); 

while($row = mysql_fetch_assoc($result)){ 
    echo "<td><IMG src=\"" . $row['IMAGE_URL'] . "\"></td>"; 
} 
+7

你知道如何在PHP中使用條件語句(即'if')? –

+0

邁克你好,不,我不知道。 – pufAmuf

+4

對於我來說,你可以連接到數據庫,使用「while」條件等等,但卻沒有去學習該語言中最基本的控制結構之一,這是非常奇怪的。就像你直接去了第8章中的任何手冊,並通過1-7章跳過。看看這個:http://php.net/manual/en/control-structures.if.php還要注意,無論你從哪裏獲得指令,都已經過時,因爲你不應該再使用'mysql_ *'函數。 –

回答

2

嘗試

echo "<td><IMG src=\"" . ($row['IMAGE_URL']?$row['IMAGE_URL']:'no-image.png') . "\"></td>"; 

,或者你可以使用if/else結構

if ($row['IMAGE_URL'] !== ''){ 
    $img = $row['IMAGE_URL']; 
} 
else{ 
    $img = 'no-image.png'; 
} 
echo "<td><IMG src=\"" . $img . "\"></td>"; 
+0

想做'!'empty($ row ['IMAGE_URL'])?...' –

+0

三元運算符很好,並且很花哨,但是您可能想要顯示更詳細的if {else} {} OP甚至沒有掌握這個符號,更不用說三元速記。 –

1

輸出之前,您應該檢查的變量,例如:

if(!empty($row['IMAGE_URL'])) 
    $img = $row['IMAGE_URL']; 
else 
$img = 'no-image.png'; 

    echo "<td><IMG src=\"" .$img. "\"></td>"; 
+0

'分析錯誤:語法錯誤,意外的T_IF' – Musa

+0

是的,應該查看代碼。現在修好了。 – Fabio