-2

このクエリでは、コメントを検索し、コメントがある場合は表示する必要があります。コメントがない場合は、コメントはまだ表示されません。

コメントは正しく表示されますが、コメントがないことを表示するif関数が機能していません。

$comments = mysql_query ("SELECT * FROM comments WHERE post_id = '". $_GET['id']."'");

while ($comment = mysql_fetch_array ($comments)) {

    //If there are'nt any results
    if(mysql_num_rows($comment) < 0 ) {
        echo "No comments yet!";

} else {

    //If there are any results
        echo "<p>" . $comment['comment'] . "</p>
            <p><b>" . $comment['author'] . "</b>, " . date("M j, Y ", strtotime($comment["date"])) . "</p>";
    }
}
4

2 に答える 2

1

コードを再編成する必要があり、0コメントの比較に誤りがあります。

$comments = mysql_query ("SELECT * FROM comments WHERE post_id = '". $_GET['id']."'");

//If there are'nt any results
if(mysql_num_rows($comments) == 0 ) { // <-- watch for 0 results
    echo "No comments yet!";            
}
else {
  while ($comment = mysql_fetch_array ($comments)) {                        
    //If there are any results
    echo "<p>" . $comment['comment'] . "</p>
    <p><b>" . $comment['author'] . "</b>, " . date("M j, Y ", strtotime($comment["date"])) . "</p>";
    }
}
于 2012-10-23T07:30:08.493 に答える
0

問題は:

if(mysql_num_rows($comment) < 0 )

0行未満にすることはできません。への変更:

if(mysql_num_rows($comment) <= 0 )

(または== 0、または実際には0であるが0を超えていないときにトリガーされるもの)

于 2012-10-23T07:32:26.820 に答える