我制作了一个发帖评论应用,我想只显示2条评论,并允许用户点按“旧评论”#34;显示更多2条旧评论
问题是,每当我尝试返回较旧的评论而其他用户刚刚评论时,则会返回无效值
id | comment | time |
---------|---------------|----------|
1 | "hello" | 10:30 |
2 | "test" | 11:00 |
4 | "test" | 12:00 |
6 | "test" | 13:00 |
PHP代码
$startIndex = 0;
$qry = $db->prepare('SELECT --comment datas--
ORDER BY time DESC LIMIT : startIndex, 2');
$qry->bindParam(':startIndex', $startIndex, PDO::PARAM_INT);
$qry->execute();
$comments = $qry->fetchAll(PDO::FETCH_ASSOC);
$comments = array_reverse($comments);
所以,让我们说我已经加载了最后的评论(ID 6,4)
然后有人添加评论..
id | comment | time |
---------|---------------|----------|
1 | "hello" | 10:30 |
2 | "test" | 11:00 |
4 | "test" | 12:00 |
6 | "test" | 13:00 |
100 | "NEW" | 20:00 |
现在,如果我想返回比(6,4),又名(2,1)更旧的消息,我调用PHP文件
$startIndex = 2;
$qry = $db->prepare('SELECT --comment datas--
ORDER BY time DESC LIMIT : startIndex, 2');
$qry->bindParam(':startIndex', $startIndex, PDO::PARAM_INT);
...
然后返回(ID 4,2):C
有没有办法坚持上次加载的评论,并返回较早的评论?
我如何定义$ startIndex? 当用户首次查看帖子时,startIndex为0 评论。如果用户点击"之前的评论",那么它将是2 (0 + 2)并将其作为变量保存在应用程序中。当用户点击它时 再次,那么它将是2 + 2,依此类推......