神秘的空数据库条目

时间:2010-07-20 00:58:33

标签: php css

在我的网站的部分评论离开系统中,有一个奇怪的空白条目始终保持在最新的真实条目之上。我直接查看了数据库,没有空白条目。然而,在我的所有评论的顶部,始终有一个空框,其格式与其他评论相同。这是从哪里来的,我该如何摆脱它?这是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;
}

3 个答案:

答案 0 :(得分: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>';

答案 1 :(得分:2)

我相信它来自第一次执行此行:

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

由于您的结果从0索引到$ num-1,因此您将没有索引为$ num-0的条目。 将该行更改为

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

或以1开始$ i,让它运行到&lt; = $ num

答案 2 :(得分: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>'; 
 }