2013-02-11 104 views
2

我想顯示「不提供」,如果addition_1在數據庫中爲空,並且它在數據庫中不是空的,我想顯示數據?我嘗試了幾種組合,看不出我缺少的東西。如果行空,回顯默認文本,否則回顯顯示數據

<?php 
if (empty($row[addition_1])) { 
    echo "Not Provided"; 
} 
else { 
    echo $row[addition_1]; 
} 
?> 
+0

通過在循環中添加'print_r($ row); die;'來調試以獲得一些洞察。 – keyboardSmasher 2013-02-11 03:34:24

回答

2

試着加引號的數組鍵,樣變:

$row[addition_1] 

$row['addition_1'] 
+0

我只是試過,沒有運氣。如果(空行($ row ['addition_1'])) \t { \t \t echo「Not Provided」; \t} \t別的 \t { \t \t回波$行[ 'addition_1']; \t} ?>' – Nick 2013-02-11 03:31:26

1

一個替代辦法是將它與COALESCE,而不是添加到您的SQL:

SELECT COALESCE(addition_1, 'Not Provided')... 

Ju另一種選擇。這不承擔addition_1是在db空...

如果它是空白,而不是NULL,那麼試試這個:

SELECT COALESCE(NULLIF(addition_1,''), 'Not Provided')... 

好運。

+0

只有當它可以爲空... – keyboardSmasher 2013-02-11 03:36:52

+0

@keyboardSmasher - 更新我的答案:) – sgeddes 2013-02-11 03:38:50

+0

哈哈,是的,我點擊了「添加評論」後看到帖子更新消息。 :) – keyboardSmasher 2013-02-11 03:40:07

1

我一直在使用組合:

if (isset($row['addition_1']) && trim($row['addition_1'])) 

記住,你不能根據文檔使用空()函數中的任何功能,這就是爲什麼我使用這個。如果你100%確定addition_1總是被設置,你可以跳過。

相關問題