我一直在寻找一个答案的答案,似乎无法找到一个,所以我希望有人在这里可以提供帮助..我只想找到一种方法,只在页面上显示XX评论,允许嵌套/线程注释的过程,并且当用户可能有超过1,000条注释时,不必显示一页上的所有注释。我正在尝试使用一个mysql查询,而不是2如果我必须这样做,我可以。
继承我的MySQL表(它还没有发布新表,所以我可以根据需要进行更改)
CREATE TABLE IF NOT EXISTS `comments_threaded` (
`id` bigint(255) NOT NULL AUTO_INCREMENT,
`toUid` bigint(255) NOT NULL,
`fromUid` bigint(255) NOT NULL,
`Pid` bigint(255) NOT NULL,
`Puid` bigint(255) NOT NULL,
`Pseen` int(2) NOT NULL,
`seen` int(2) NOT NULL,
`comment` text NOT NULL,
`tim` int(20) NOT NULL,
`Pip` varchar(30) NOT NULL,
PRIMARY KEY (`id`),
KEY `toUid` (`toUid`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 ;
id =评论自动增加的id
toUid =用于其所在的配置文件/用户
fromUid =评论来自谁
Pid =父ID的id ..
Puid =父ID的用户ID号
Pseen =如果父用户已看到评论
看到=如果toUid已经看到评论
comment = fromUid留下的评论
蒂姆=剩下的时间()
Pid =人员ip
anways,我正在尝试对用户个人资料发表评论,如果他们想要回复他们,他们会对上一个/父评论的回复进行嵌套。
我想将页面上的注释数量限制为10或20,无论我认为合适,这个数字还包括嵌套注释..
例如,如果我想在第1页上发表10条评论
comment 1
--comment 2 replied to comment 1
--comment 3 replied to comment 1
----comment 4 replied to comment 3
------comment 5 replied to comment 4
comment 6
--comment 7 replied to comment 6
--comment 8 replied to comment 6
comment 9
--comment 10 replied to comment 9
然后在第2页,如果第一个评论是对另一个评论的回复,那么它将以他们回复的原始父评论开头,如果完全能够在该页面上仍然只保留10条评论,如果如果在顶部显示额外的评论,或者可能显示在底部的第1页上的额外评论,那就没关系了。我不确定哪个会更容易。
comment 9
--comment 10 replied to comment 9
----comment 11 replied to comment 10
----comment 12 replied to comment 10
--comment 13 replied to comment 12
comment 13
comment 14
--comment 15 replied to comment 14
--comment 16 replied to comment 14
----comment 17 replied to comment 16
----comment 18 replied to comment 17
--comment 19 replied to comment 17
comment 20
我在想一个MySQL IN子句会这样做,但我收到一个错误..“试过 -
SELECT id, fromUid, Pseen, seen, comment, tim
FROM comments_threaded
WHERE toUid = '".mysql_real_escape_string($toUid)."'
OR Pid IN (
SELECT id, fromUid, Pseen, seen, comment, tim
FROM comments_threaded
WHERE toUid = '".mysql_real_escape_string($toUid)."'
)
LIMIT 10
并且一直在
Operand should contain 1 column(s)
我以前从未见过..
感谢您寻求帮助,如果可以的话!
答案 0 :(得分:2)
如果在IN()
中使用子查询,则该子查询必须选择1且仅选择1列。你的选择是6.
此外,对于这种嵌套内容,您可能需要考虑使用嵌套集模型。