2010-07-20 102 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>';