如何根据答复在博客中发表评论排序

问题描述 投票:0回答:1

我的问题是关于对组根据每个岗位怎么样的评论回复。我在PHP初学者,我通过实践,并给自己的任务学习。就在那天,使用评论系统作为其功能部分博客的工作。我根据意见发现很难分组的答复。

我已经能够根据后通过创建一个外键的帖子ID来寻求意见。我试着用同样的方法,根据意见要求的答复。也就是说,我希望每个回复相应的意见下坐。我创建了答复表的外键(comments_id),并将其链接到的意见表的ID。因此,我使用下面所寻求根据注释,显示整个答复的答复该查询。其每一个岗位相同数量的最后一个注释后显示的答复,即使他们没有达到这个数字的答复。我有5篇,3 1个评论,各1个其他2条评论。但是,在每一个岗位的最后意见结束后,会显示5个回答。但是,当我在我的查询修改第一行:$ r_query = $ get_replies = “SELECT * FROM回复WHERE comments_id = $编号”;什么都不会移位。该comments.php文件和post.php中介绍如下。我决定不删除代码的任何部分,因为也许需要每一个部分。

$r_query = $get_replies = "SELECT * FROM replies ";
<?php        
                    $r_query = $get_replies = "SELECT * FROM replies";
                    $r_run = mysqli_query($con,$r_query);
                    if(mysqli_num_rows($r_run) <= 1){

                    ?>                  
                    <div class="comment">
                       <?php
                        while($r_row = mysqli_fetch_array($r_run)){
                            $r_id = $r_row['id'];
                            $r_name = $r_row['name'];
                            $r_username = $r_row['username'];
                            $r_image = $r_row['image'];
                            $r_reply = $r_row['reply'];
                        ?>
                        <div class="row single-comment user-comment">
                            <div class="col-sm-2">
                                <img src="img/<?php echo $r_image; ?>" alt="Profile Picture" class="rounded-circle">
                            </div>
                            <div class="col-sm-10">
                                <h4><?php echo ucfirst($r_name);  ?></h4>
                                <span class="time"><?php echo date('M j, Y', strtotime($r_row['date'])); ?></span>
                                <span class="time"><?php echo 'at '.date('h:i a', strtotime($r_row['date'])); ?></span>
                                <p><?php echo $r_reply; ?></p>
                            </div>
                        </div>
                        <?php }?>
                    </div>
                     <?php  }?>

comments表结构样本数据

CREATE TABLE commentsid INT(11)NOT NULL,date日期时间DEFAULT NULL,name VARCHAR(255)NOT NULL,username VARCHAR(255)NOT NULL,post_id INT(11)NOT NULL,email VARCHAR(255)NOT NULL,website VARCHAR(255)NOT NULL,image VARCHAR(255)NOT NULL,comment文本NOT NULL,status VARCHAR(255)NOT NULL,posts_id INT(11)NOT NULL)ENGINE = InnoDB的默认字符集= LATIN1;

INSERT INTO commentsiddatenameusernamepost_idemailwebsiteimagecommentstatusposts_id)VALUES(136, '2019年2月8日1点16分17秒', '瓦尔Amasiatu',“校区”,91 '[email protected]', 'avidscholars.com.ng', 'Unknown_Member.jpg', '坚持下去', '批准',91),

- 为索引表comments

ALTER TABLE comments ADD PRIMARY KEY(id),ADD KEY comments and posts linkposts_id)USING BTREE; - AUTO_INCREMENT的倾倒表

- AUTO_INCREMENT为表comments

ALTER TABLE comments MODIFY id INT(11)NOT NULL AUTO_INCREMENT,AUTO_INCREMENT = 155; - 约束的倾倒表

- 约束的表comments

ALTER TABLE comments ADD CONSTRAINT Foreign key to posts table外键(posts_id)参考postsid)ON DELETE CASCADE ON UPDATE CASCADE;承诺;

REPLIES表结构样本数据

CREATE TABLE repliesid INT(11)NOT NULL,date日期时间NOT NULL,name VARCHAR(255)NOT NULL,username VARCHAR(255)NOT NULL,email VARCHAR(255)NOT NULL,image VARCHAR(255)NOT NULL,comment文本NOT NULL,status VARCHAR(255)NOT NULL,comments_id INT(11)NOT NULL)ENGINE = InnoDB的默认字符集= LATIN1; - 对于表replies INSERT INTO repliesiddatenameusernameemailimagecommentstatuscomments_id)VALUES(163倾销数据, '2019年2月8日23时02分23秒', '瓦尔阿美西亚大陆' 'VAL', '[email protected]', '成人胡子模糊-927022.jpg', '第一次的答复', '批准',151),

- 为索引表replies

ALTER TABLE qazxsw POI ADD PRIMARY KEY(qazxsw POI),ADD KEY qazxsw POI(replies); - AUTO_INCREMENT的倾倒表

- AUTO_INCREMENT为表id

ALTER TABLE Comment and replies relationship MODIFY comments_id INT(11)NOT NULL AUTO_INCREMENT,AUTO_INCREMENT = 168; - 约束的倾倒表 - 约束的表replies ALTER TABLE replies ADD CONSTRAINT id外键(replies)参考repliesForeign key to replies table)ON DELETE CASCADE ON UPDATE CASCADE;承诺;

结构和样本数据有关的职位表

CREATE TABLE comments_idcomments INT(11)NOT NULL,id日期时间NOT NULL,posts VARCHAR(255)NOT NULL,id VARCHAR(255)NOT NULL,postDate VARCHAR(255)NOT NULL,title VARCHAR(255)NOT NULL,author VARCHAR(255)NOT NULL,author_image VARCHAR(255)NOT NULL,image文本NOT NULL,categories INT(11)NOT NULL,tags VARCHAR(255)NOT NULL)ENGINE = InnoDB的默认字符集= LATIN1; - 对于表post_data INSERT INTO views倾销数据(statuspostspostsidpostDatetitleauthorauthor_imageimagecategoriestags)VALUES(42, '2019年2月3日11点21分22秒', “什么是Lorem存有?”,“1234”,“AvePoint.jpg”,“管理资产负债模糊272978.jpg”,“教程”,“我,我,我的”,“

但我一直没能够做的是找到和地方,它应该是这个缺少结束的div标签。

', 8, 'publish'),

- 为索引表post_data

ALTER TABLE views ADD PRIMARY KEY(status); - 对于AUTO_INCREMENT倾倒表 - AUTO_INCREMENT为表posts ALTER TABLE posts MODIFY id INT(11)NOT NULL AUTO_INCREMENT,AUTO_INCREMENT = 92;承诺;

我需要有根据与评论,以及任何答复后各自的意见进行分组的答复。即答复意见下到来。

php mysqli comments blogs
1个回答
0
投票

虽然方法可能是昂贵的,用你的想法,这是你的步骤应该采取选择每个评论,并通过他们向截枝打印出来后,

  1. 在每个循环中,得到了评论ID和查询的答复表匹配的ID回复
  2. 当答复得到创建一个内部循环并输出结果 posts
© www.soinside.com 2019 - 2024. All rights reserved.