0

複数のブログエントリがあり、それぞれを1回表示する必要があります。すべてのブログエントリのコメントを表示および非表示にする「コメント」リンクがあります。同じ最初の結果が表示され続ける理由がわかりません。これは、新しいコメントを追加するたびに発生します(現在、5つあり、ブログセクションは5回表示され、それぞれの最初のコメントのみが表示されます)。ユーザーが「コメント」リンクにログインしているかどうかに基づいて、ログインリンクまたは(ログインしている場合は)コメントを送信するためのフォームフィールドが表示されます。

<?php
$conn = mysql_connect("...", "...", "...");
mysql_select_db("...");
$result  = mysql_query("select * from blog");
$result2 = mysql_query("select * from blogcomment where blog.ID = blogcomment.blogID");
$i       = 1;
while ($row = mysql_fetch_array($result))
{
    echo "<h1>$row[title]</h1>";
    echo "<p class ='second'>$row[blog_content]</p> ";
    echo "<p class='meta'>Posted by .... &nbsp;&bull;&nbsp; $row[date] &nbsp;&bull;&nbsp; <a href='#' onclick=\"toggle_visibility('something$i'); return false\">Comments</a><div id='something$i' style='display: none;'><p class='third' >";
    $i++;

    while ($row = mysql_fetch_array($result2))
    {
        echo "$row[commentdate] &nbsp;&bull;&nbsp; $row[username]</p><p>said:</p> <p>$row[comment]</p>";
        if (isset ($_SESSION["gatekeeper"])) {
            echo '<form method="post" action="postcomment.php"><input name="ID" type = "hidden" value = "' . $row[ID] . '" /><input name="comment" id="comment" type="text" style="margin-left:20px;"/><input type="submit" value="Add comment" /></form></div>';
        }
        else {
            echo '<p class="third"><a href="register.html">Signup </a>to post a comment</p></div>';
        }
    }
}
mysql_close($conn);
?>
4

1 に答える 1

3
$i = 1; 
while($row = mysql_fetch_array($result))
{
于 2012-04-14T12:38:53.927 に答える