0
有多個博客條目,每個應顯示一次。有一個「評論」鏈接,顯示和隱藏每個博客條目的評論。我無法弄清楚爲什麼同樣的第一個結果不斷出現。每次添加新評論時都會發生這種情況(目前有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 .... • $row[date] • <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] • $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);
?>
使用[mysql_fetch_assoc(http://php.net/manual/en/function.mysql-fetch-assoc.php) – noob 2012-04-14 12:35:36
我也建議周圍使用數組鍵單引號,$ row [blah]應該是$ row ['blah'],如果某人後來出現並確定了('blah',1234); 。很少發生,但很好避免。 – Dale 2012-04-14 12:37:21
你必須使用嵌套循環來滿足你的需求。 – hjpotter92 2012-04-14 12:37:55