2010-07-20 104 views
0

在我的網站部分評論離開系統有一個奇怪的空白條目,始終高於最新的真實條目。我直接查看了數據庫,沒有空白條目。然而,在我所有評論的頂部,總是有一個空格,其格式與其餘評論的格式相同。這是從哪裏來的,我如何擺脫它?這裏是PHP:神祕的空數據庫條目

$query = "SELECT * FROM catharsis"; 
$result = mysql_query($query); 
$num = mysql_numrows($result); 

mysql_close(); 
echo "<h4><center>Let it out.</center></h4>"; 


echo '<ul class="comments">'; 

for ($i = 0; $i < $num; $i++) { 
    $name = mysql_result($result,$num - $i,"message"); 
    echo "<li>$name</li>"; 
    echo '<br>'; 
} 
echo '</ul>'; 

相關CSS:

ul.comments { 
list-style-type: none; 
position: relative; 
right: 2.5em; 

} 

ul.comments li { 
list-style-type: none; 
background-color: c0dbff; 
border-style: solid; 
border-width: 1px; 
border-color: black; 
padding: .4em; 
} 

回答

1

你能否證實,如果你回聲$num它是零?

你不希望被打印ul當你沒有任何li條目反正所以你想是這樣的:

if ($num > 0) 
{ 
    echo '<ul class="comments">'; 

    for ($i = 0; $i < $num; $i++) { 
     $name = mysql_result($result,$num - $i,"message"); 
     echo "<li>$name</li>"; 
     echo '<br>'; 
    } 
    echo '</ul>'; 
} 
2

我相信它來自於第一次這條線被執行:

$name = mysql_result($result,$num - $i,"message"); 

由於您的結果從0到$ num-1索引,您將不會有索引$ num-0的條目。 更改上面一行改爲

$name = mysql_result($result,$num - $i -1,"message"); 

或1 $開始我並讓它運行到< = $ NUM

+0

+1 - 我在寫這個! – laurent 2010-07-20 01:10:02

+0

我在1開始時使用了$ i並運行到<=解決方案並且工作正常。非常感謝你! – Jimmy 2010-07-20 01:15:57

+0

很高興幫助:) – Josiah 2010-07-20 02:02:48

3
$query = 'SELECT message FROM catharsis ORDER BY id DESC'; 
$result = mysql_query($query); 
mysql_close(); 
echo '<h4><center>Let it out.</center></h4>'; 


echo '<ul class="comments">'; 

while($t = mysql_fetch_array($result)){ 
    echo '<li>'.$t[0].'</li><br>'; 
} 
echo '</ul>';