我想排序按时间顺序电影评论列表。我们有两个选择用户可以从,按时间顺序和字母选择。该页面默认英文字母,但是当人们点击时间选项,什么都不会发生。

下面是代码我们现在:

// category 3 is 'reviews', category 12 is 'dvd reviews'
                if (($GLOBALS["CategoryId"] == 3 || $GLOBALS["CategoryId"] == 12) && !isset($_GET['unsort']))
                {
                    $output = AL_HELPER::GetArticles($articleResult);
                }
                else
                {
                    $output = AL_HELPER::GetArticlesABC($articleResult);
                }

我所做的就是触发器两个IFS。第一推杆和GetArticles二线GetArticlesABC这意味着它是这样的:

// category 3 is 'reviews', category 12 is 'dvd reviews'
                if (($GLOBALS["CategoryId"] == 3 || $GLOBALS["CategoryId"] == 12) && !isset($_GET['unsort']))
                {
                    $output = AL_HELPER::GetArticlesABC($articleResult);
                }
                else
                {
                    $output = AL_HELPER::GetArticles($articleResult);
                }

这的确排序按时间顺序的评论,但它带走了所有的字母选项。本质上,它是一个漫长的时间审查名单。所以,很显然,这不是我们想要的。

有谁知道如何限制,它列出了页面上的项目数?或者,也许这里需要一个完全不同的方法,如果是这样,有什么建议?

有帮助吗?

解决方案

限制每页的结果的数量,如果使用的是后端数据库和SQL是作为使用LIMIT操作者只检索结果的一组数一样简单。然后,你可以通过它涉及到设置你拉到结果的页面之间的变量执行下一首/上操作。

例如:

SELECT <Whatever> FROM <review table> LIMIT 0,10

将检索的前10个结果。

SELECT <Whatever> FROM <review table> LIMIT 10,20

将检索下一个10通过与变量的替代号码就可以实现分页:

SELECT <Whatever> FROM <review table> LIMIT resultIndex,resultIndex+10
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top