Php While循环中的While循环

Php While循环中的While循环,php,post,while-loop,comments,Php,Post,While Loop,Comments,我有一个评论框,用户可以在其中发表评论。这些注释将显示在while循环中 <?php while ($rowsx=mysql_fetch_array($resultss1)){ echo "<div id='comments'>"; echo "<table class='table11'>"; echo "<tr>"; echo "<td class='sss'><img src='img/user.jpg'>"; echo

我有一个评论框,用户可以在其中发表评论。这些注释将显示在while循环中

<?php

while ($rowsx=mysql_fetch_array($resultss1)){

echo "<div id='comments'>";
echo "<table class='table11'>";
echo "<tr>";
echo "<td class='sss'><img src='img/user.jpg'>";
echo "<p class='p999'>"  .$rowsx['username'];  
echo  "</p> </br>";
echo "<p class='p9date'>" .$rowsx['date_posted']. "</p> ";
echo "</td>";
echo "<td>";
echo "<p class='p9'>" .$rowsx['comment']. "</p> </br></br></br>";


echo "</td>";

echo "</tr>";
echo "</table>";

echo "<a href='reply1.php?r_comment=".$rowsx['comment']."&prod_id=".$row['prod_id']."'    class='reply_button'> REPLY </a>  ";
echo "</div>";

}

?>

是的,您可以将while循环放入while循环中,如下所示:

<?php

while ($rowsx=mysql_fetch_array($resultss1)){

echo "<div id='comments'>";
echo "<table class='table11'>";
echo "<tr>";
echo "<td class='sss'><img src='img/user.jpg'>";
echo "<p class='p999'>"  .$rowsx['username'];  
echo  "</p> </br>";
echo "<p class='p9date'>" .$rowsx['date_posted']. "</p> ";
echo "</td>";
echo "<td>";
echo "<p class='p9'>" .$rowsx['comment']. "</p> </br></br></br>";


echo "</td>";

echo "</tr>";
echo "</table>";

echo "<a href='reply1.php?r_comment=".$rowsx['comment']."&prod_id=".$row['prod_id']."'    class='reply_button'> REPLY </a>  ";
echo "</div>";

   $commentId = $rowsx['id'];
   $replies = mysql_query('SELECT * FROM replies WHERE comment_id = $commentId');

   while ($rowsx=mysql_fetch_array($replies)){

   }

}

?>

创建此类型代码:

<?php

while ($rowsx=mysql_fetch_array($resultss1)){

    print_comment($rowsx)

}

function print_comment($rowsx) {
    echo "<div id='comments'>";
    echo "<table class='table11'>";
    echo "<tr>";
    echo "<td class='sss'><img src='img/user.jpg'>";
    echo "<p class='p999'>"  .$rowsx['username'];
    echo  "</p> </br>";
    echo "<p class='p9date'>" .$rowsx['date_posted']. "</p> ";
    echo "</td>";
    echo "<td>";
    echo "<p class='p9'>" .$rowsx['comment']. "</p> </br></br></br>";


    echo "</td>";

    echo "</tr>";
    echo "</table>";

    echo "<a href='reply1.php?r_comment=".$rowsx['comment']."&prod_id=".$row['prod_id']."'    class='reply_button'> REPLY </a>  ";

    while ($sub_comment_result=mysql_fetch_array($reply)){

        print_comment($sub_comment_result)

    }
    echo "</div>";
}

?>

听起来像是一项工作在while循环中放入while循环,而不知道数据库的结构,很难猜到评论之间的链接到底是怎样的。@MarkWinterbottom我在第一条评论中加入了另一个while循环,但是回复只出现在第一条评论上……您需要更改SQL,只查询与您刚才循环的评论相关的回复。谢谢您的回复,先生。。。我将尝试此方法,如果此方法仅适用于一个级别,请尝试使用递归方法
<?php

while ($rowsx=mysql_fetch_array($resultss1)){

    print_comment($rowsx)

}

function print_comment($rowsx) {
    echo "<div id='comments'>";
    echo "<table class='table11'>";
    echo "<tr>";
    echo "<td class='sss'><img src='img/user.jpg'>";
    echo "<p class='p999'>"  .$rowsx['username'];
    echo  "</p> </br>";
    echo "<p class='p9date'>" .$rowsx['date_posted']. "</p> ";
    echo "</td>";
    echo "<td>";
    echo "<p class='p9'>" .$rowsx['comment']. "</p> </br></br></br>";


    echo "</td>";

    echo "</tr>";
    echo "</table>";

    echo "<a href='reply1.php?r_comment=".$rowsx['comment']."&prod_id=".$row['prod_id']."'    class='reply_button'> REPLY </a>  ";

    while ($sub_comment_result=mysql_fetch_array($reply)){

        print_comment($sub_comment_result)

    }
    echo "</div>";
}

?>