2014-04-23 69 views
0

你好,我想知道如果我能有一些幫助解決這個(也許)容易的問題。 下面的代碼工作正常,打印所有提交的字段,但有另外3個用戶提交空白,因爲它不是必需的。這些我想打印爲NOT FILLED。鑑於我的編程水平,我可能需要一些幫助,因爲我嘗試了很多方法,但都沒有成功。感謝您提供最重要的幫助。未提交空白結果mysql php

<?php 
    mysql_connect ("thehost","user","password") or die ('Cannot connect to MySQL: ' . mysql_error()); 
mysql_select_db ("database") or die ('Cannot connect to the database: ' . mysql_error()); 
echo '<table>'; 
$query = mysql_query("SELECT column FROM table WHERE field='11'") or die ('Query is invalid: ' . mysql_error()); 

while ($row = mysql_fetch_array($query)) { 
    echo'<tr><td>'; 
    echo '<td>'.($row['value']!="")?$row['value']:"Not Filled".'</td>'; 
    echo '</td></tr>'; 
}  
echo '</table>'; 
?> 
<!--HTML dom--> 
<table> 
<tr> 
<td>result_1</td> 
</tr> 
<tr> 
<td> result_2</td> 
</tr> 
<tr> 
<td> result_3</td> 
</tr> 
<tr> 
<td> result_4</td> 
</tr> 
</table> 
+0

你可以使用if語句來看看他們是空白的(不知道這將是NULL或空字符串) –

+0

親愛的馬歇爾Tigerus,謝謝儘管無法顯示空白的en,但您仍然可以獲得最受歡迎的幫助從數據庫嘗試。有7個提交的字段,3個是空白的,導致剩下的提交的行向上移動,導致定位錯誤。 – emer

+0

在你的SQL語句中使用類似NVL的東西怎麼樣? http://forums.mysql.com/read.php?99,59732,59732 –

回答

0

我不是最偉大的程序員,我清楚地瞭解你的問題,我會sugest是這樣的:如果你的行或輸入進行驗證=「」你可以用的東西填補像未填寫。

,或者!= 「」

(做某件事,或者什麼都不

其他

(填寫您的輸入與 「未填寫」)

希望這將幫助你

+0

謝謝先生I_DIOT爲您提供的最受歡迎的幫助。我曾嘗試過,因爲你提到沒有成功。它仍然不顯示空字符串。 – emer

0
<?php 
    mysql_connect ("thehost","user","password") or die ('Cannot connect to MySQL: ' . mysql_error()); 
mysql_select_db ("database") or die ('Cannot connect to the database: ' . mysql_error()); 
echo '<table>'; 
$query = mysql_query("SELECT column FROM table WHERE field='11'") or die ('Query is invalid: ' . mysql_error()); 

while ($row = mysql_fetch_array($query)) { 
    echo'<tr><td>'; 
    echo '<td>'; 
    if(!empty($row['value'])){ echo $row['value'];} 
    else{ echo "Not Filled";} 
    echo '</td>'; 
    echo '</td></tr>'; 
}  
echo '</table>'; 
?> 
<!--HTML dom--> 
<table> 
<tr> 
<td>result_1</td> 
</tr> 
<tr> 
<td> result_2</td> 
</tr> 
<tr> 
<td> result_3</td> 
</tr> 
<tr> 
<td> result_4</td> 
</tr> 
</table> 
0

如果我理解正確,你可以改變你的查詢如下:

選擇SomeIdColumn,NVL(列,「未填寫」),從表where字段= '11'

做到這一點對所有受影響的列,它將返回未填寫,如果列值爲NULL

+0

仍爲空。 NOT FILLED的值是否必須在數據庫中?或者就像它在PHP中一樣? – emer

+0

嘗試更新的答案。如果你只有一列,它不會返回空值。如果你有兩個,一個有價值,但另一個沒有,它應該返回一個記錄(然後NVL可以做它的工作 –

+0

我已經嘗試了上面的答案,謝謝,雖然沒有成功。需要,沒有問題,他們都充滿了結果,問題是這個列不是必需的,結果數據繼續到上面的空白空間。 – emer

0

你好,我相信我不會到這裏來的答案:

echo '<table>'; 
$query = mysql_query("SELECT value FROM afp_data_fields WHERE field_id='11' LIMIT 1") or die ('Query is invalid: ' . mysql_error()); 
while ($row = mysql_fetch_array($query)) { 
echo'<tr><td>'; 
    echo '<td style="width: 155px;max-width: 140px; white-space: nowrap;overflow:hidden;">'; 
    if(!empty($row['value'])){ echo $row['value'];} 
    else { echo "Not Filled";} 
    echo '</td>'; 
    echo '</td></tr>'; 
}  
echo '</table>';