评论评论

时间:2013-06-30 21:16:47

标签: php

我目前正在制作评论系统,我想让用户对现有评论发表评论。

我为每个评论创建了一个链接,以便能够点击它以重定向到表单以写入现有评论的答案。当提交表单时,隐藏的输入应该采用现有注释的当前id。但是有一个问题:每个注释的id在while循环中都可用,但是一旦循环完成,变量就会消失。所以我想知道如何获取每个注释的id以将其发送到隐藏的输入中。

这是我的完整代码:

<h2>Fiche</h2>

<?php

$_SESSION['cf']['message'] = $_GET['message'];

$reponse = db_query('SELECT * FROM messages WHERE id = ?', array($_SESSION['cf']['message']));
$donneesmsg = $reponse->fetch()

?>


<h5><?php echo $donneesmsg['Pseudo']; ?></h5>

<p class="text-center text-align"><?php echo $donneesmsg['Message']; ?></p>

<a href="index.php?page=fiche&message=<?php echo $_SESSION['cf']['message'] ?>&#formcom">Repondre</a>

<?php

    echo '<h4>Commentaires</h4>';
    echo '<hr>';

            $reponse1 = db_query('SELECT * FROM comment WHERE messages_id = ?', array($donneesmsg['id']));
            $donneescom1 = $reponse1->fetch();

$reponse = db_query('SELECT * FROM comment WHERE messages_id = ? ORDER BY id ASC', array($donneesmsg['id']));
while ($donneescom = $reponse->fetch()) {


    if ($donneescom['commentaires_id'] == 0) 

        {

            echo '<center>';
            echo '' .$donneescom['id']. '<br>';
            echo '' .$donneescom['pseudo']. '<br>';
            echo '' .$donneescom['commentaire']. '<br>';
            echo '<a href="index.php?page=fiche&message=' .$_SESSION['cf']['message']. '&com=' .$donneescom['id']. '#formcom">Repondre</a>';
            echo '<hr>';
            echo '</center>';


        }


    if ($donneescom['commentaires_id'] != 0)
        {

            echo 'En reponse au com ' .$donneescom['commentaires_id']. '<br>';
            echo '' .$donneescom['id']. '<br>';
            echo '' .$donneescom['pseudo']. '<br>';
            echo '' .$donneescom['commentaire']. '<br>';
            echo '<a href="index.php?page=fiche&message=' .$_SESSION['cf']['message']. '&com=' .$donneescom['id']. '#formcom">Repondre</a>';
            echo '<hr>';



        }
    }

    $reponse1 = db_query('SELECT * FROM comment WHERE messages_id = ?', array($donneesmsg['id']));
    $donneescom1 = $reponse1->fetch();

?>


<form id="formcom" method="post" action="index.php?page=addcomment">
Pseudo: <input type="text" placeholder="Pseudo" name="pseudo"> <br>
Mail: <input type="email" placeholder="Mail" name="mail"> <br>
Commentaire: <textarea  placeholder="Commentaire" name="commentaire"></textarea> <br>
<input type="hidden" name="date" value="<?php echo time(); ?>"><br>
<input type="hidden" name="messages_id" value="<?php echo $donneesmsg['id']; ?>"><br>           
<input type="text" name="commentaires_id" value="<?php echo $donneescom1['id']; ?>"><br>
<input type="hidden" name="id" value="<?php echo $donneesmsg['id']; ?>"><br>
<input type="submit" value="Envoyer">
</form>

2 个答案:

答案 0 :(得分:0)

您的回复链接看起来会将评论ID放回GET参数com。因此,当您输出评论表单时,您应该检查com参数是否存在,如果存在,则输出一个带有该ID的隐藏input

答案 1 :(得分:0)

我建议使用评论ID创建链接,而不是消息ID。

更好的解决方案是使用parent_id作为评论,并使用它。

相关问题