我正在构建的网站中有评论和回复部分。回复部分设置为向右移动,边距为 10%。但是当我测试代码时,它会将每个回复向右移动,而不是所有回复一起移动。我被卡住了,因为回复在评论中循环,我不知道如何解决它。这是代码...
// Comments section
// Get Username and ID from database
if ($login->isLoggedIn()) {
$userquery = "SELECT * FROM settings WHERE user_id=$userid";
$usersql = mysql_query($userquery) or die('SQL Error :: '.mysql_error());
$userqueryrow = mysql_fetch_assoc($usersql);
$usercommentname = $userqueryrow['display_name'];
} else {
}
// Posted Comments
$commentquery = "SELECT * FROM comments WHERE listing_id=$listingid AND response_to_id='0' ORDER BY comment_ts ASC";
$commentsql = mysql_query($commentquery) or die('SQL Error :: '.mysql_error());
if(mysql_num_rows($commentsql) == 0){
echo '<div align="center">No comments have been posted yet.</div>';
} else {
while($commentrow=mysql_fetch_array($commentsql))
{
// Get comment display name from database
// Get Username and ID from database
$commentid = $commentrow['comment_id'];
$commenterid = $commentrow['user_id'];
$commenterquery = "SELECT * FROM settings WHERE user_id=$commenterid";
$commentersql = mysql_query($commenterquery) or die('SQL Error :: '.mysql_error());
$commenterqueryrow = mysql_fetch_assoc($commentersql);
$commentername = $commenterqueryrow['display_name'];
echo '<div class="comment"><a href="mypage.php?user='.$commenterid.'">'.$commentername.'</a> said: '.stripslashes($commentrow['comment']).'';
if ($login->isLoggedIn()) {
// Has this user already reported this comment?
$reportedcommentquery = "SELECT * FROM report WHERE comment_id=$commentid AND reporter_id=$userid AND listing_id=$listingid";
$reportedcomment = mysql_query($reportedcommentquery) or die('SQL Error :: '.mysql_error());
if (mysql_num_rows($reportedcomment) > "0") {
echo ' <span class="small_gray">-Reported and under review-</span>';
} else {
echo ' <a href="item.php?item='.$listingid.'&report='.$commentid.'" class="small_graylink">Report</a>';
}
echo '</div>';
// Get responses
$responsesquery = "SELECT * FROM comments WHERE listing_id=$listingid AND response_to_id=$commentid ORDER BY comment_ts ASC";
$responsessql = mysql_query($responsesquery) or die('SQL Error :: '.mysql_error());
if(mysql_num_rows($responsessql) == 0){
echo '';
} else {
while($responsesrow=mysql_fetch_array($responsessql))
{
// Get responder display name from database
$responderid = $responsesrow['user_id'];
$responseid = $responsesrow['comment_id'];
$responderquery = "SELECT * FROM settings WHERE user_id=$responderid";
$respondersql = mysql_query($responderquery) or die('SQL Error :: '.mysql_error());
$responderqueryrow = mysql_fetch_assoc($respondersql);
$respondername = $responderqueryrow['display_name'];
$responderid = $responderqueryrow['user_id'];
echo '<div class="response"><a href="mypage.php?user='.$responderid.'">'.$respondername.'</a> said: '.stripslashes($responsesrow['comment']).'';
if ($login->isLoggedIn()) {
// Has this user already reported this comment?
$reportedresponsequery = "SELECT * FROM report WHERE comment_id=$responseid AND reporter_id=$userid AND listing_id=$listingid";
$reportedresponse = mysql_query($reportedresponsequery) or die('SQL Error :: '.mysql_error());
if (mysql_num_rows($reportedresponse) > "0") {
echo' <span class="small_gray">-Reported and under review-</span>';
} else {
echo' <a href="item.php?item='.$listingid.'&report='.$responsesrow['comment_id'].'" class="small_graylink">Report</a>';
}
}
}
echo '</div>';
echo '<div class="clear"></div>';
}
}
// Response form
if ($login->isLoggedIn()) {
echo '<div class="responsebox">Respond to this comment:<br /><form id="newresponseto" name="newresponseto" method="post" action="item.php?item='.$listingid.'&comment='.$commentrow['comment_id'].'">
<textarea name="new_response" cols="43" rows="2">'.$usercommentname.' says:</textarea><br />
<input type="submit" name="Submit" value="Submit" /></form></div><hr>';
} else {
}
}
}
// Comment form
if ($login->isLoggedIn()) {
echo' <div class="commentbox">Post a comment:<br /><form id="newcommentform" name="newcommentform" method="post" action="item.php?item='.$listingid.'">
<textarea name="new_comment" cols="50" rows="2">'.$usercommentname.' says:</textarea><br />
<input type="submit" name="Submit" value="Submit" />
</form></div>';
} else {
echo '<div align="center">Log in to post comments or responses.</div>';
}
这是相应的CSS ..
.comment {
float: left;
width: 100%;
background-color:#CCCCCC;
margin-bottom: 10px;
}
.commentbox {
float: left;
width: 100%;
margin-bottom: 10px;
}
.response {
float: left;
background-color:#EDEFF4;
margin-bottom: 10px;
}
.responsecontainer {
float: left;
margin-left: 10%;
width: 90%;
margin-bottom: 10px;
}
.responsebox {
float: left;
margin-bottom: 10px;
}
知道如何保持嵌套循环,但强制响应(以及实际上任何后续评论)布局而不循环左边距?