首页 > 解决方案 > 我想为每篇文章添加评论,所以在我的“foreach”循环中,我为每篇文章添加了评论,但“设置评论”功能适用于所有艺术作品

问题描述

我想为每篇文章添加评论,所以在我的“foreach”循环中,我为每篇文章添加了评论,但“设置评论”功能适用于所有艺术作品

这就是制作文章窗口的代码

        <?php $articles_qr = mysqli_query($connection, "SELECT * FROM `articles` ");
    $articles = array();
    while ( $art = mysqli_fetch_assoc($articles_qr))
                    {
                        $articles[] = $art;
                    }

 ?>
            <?php foreach ($articles as $art)
                    {
             ?>
    <section>
        <div class="containerstuff">

            <div class="stuffpic">
            <img src="<?php echo "../static/imagespages/",$art['image'] ?>"  class="pico">

            </div>
            <div class="article">
                <h1><?php
                        echo $art['title']
                    ?>
                </h1>
                <?php
                        echo $art['text'];
                        echo $art['id']
                    ?>

            </div>
            </div>

        <div class="scrollmenu">

            <?php include "../includes/comments.php";?>

    </section>
        <?php
        } ?>

这就是代码注释窗口

        <?php
date_default_timezone_set(timezone_identifier);
include_once '../comments.ink.php'

?>
<div class="containercom">

                <img src="#" class="commpic">
                <p class="comment"></p>
            </div>


            <div class="blockcom">



                <form class='form' method='POST' action="<?php echo setComments($connection)?>">

                    <div class='form__group'>

                        <input type='hidden' name='page_id' value="<?php echo $art['id']?>" >

                        <input type='hidden' name='uid' value='Anonymous'>
                        <input type='hidden' name='pubdate' value="<?php echo date('Y-m-d H:i:s')?>" >
                        <textarea name='text' class='form__control' placeholder ='Введите комментарий...' required=''></textarea>

                    </div>
                        <div class='form__group'>
                            <input type='submit' class='form__control2' name='commentSubmit'></input>
                        </div>
                    </div>
                </form>

这就是 INSERT 函数的代码

<?php

        static $firstTime = true;
function setComments($connection) {
    if(isset($_POST['commentSubmit'])){
        $idcom = $_POST['page_id'];
        $uid = $_POST['uid'];
        $pubdate = $_POST['pubdate'];
        $text = $_POST['text'];

        $sql =
        "INSERT INTO `comments` (page_id, uid, pubdate, text)
        VALUES ('$idcom', '$uid', '$pubdate', '$text')";

        $result = $connection->query($sql);
        $firstTime = false;

    }

}

那么我怎样才能只插入一篇文章(所以当我现在添加它时,出现的评论与我在数据库中的文章一样多)

标签: phphtmlcsscomments

解决方案


我认为您应该使用 ajax 来附加一个新的评论,这是广泛使用的解决方案,您的做法将变得难以为您处理。


推荐阅读