【问题标题】:Sorting a List of Reviews Chronologically按时间顺序对评论列表进行排序
【发布时间】:2008-12-06 00:11:16
【问题描述】:

我正在尝试按时间顺序对电影评论列表进行排序。我们有两个选项可供用户选择,按时间顺序排列和按字母顺序排列。该页面默认按字母顺序排列,但是当人们单击按时间顺序排列的选项时,什么也没有发生。

这是我们现在拥有的代码:

// 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);
                }

我所做的是翻转两个如果。将 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);
                }

它确实按时间顺序对评论进行了排序,但它去掉了所有按字母顺序排列的选项。本质上,这是一长串按时间顺序排列的评论。所以显然这不是我们想要的。

有谁知道如何限制它在页面上列出的项目数量?或者这里可能需要一种完全不同的方法,如果需要,有什么建议吗?

【问题讨论】:

  • 您似乎有三个选项:未排序、按字母顺序排列和按时间顺序排列。哪些功能在这里做什么?另外,告诉你正在使用的语言(例如进入标签)。无论如何,你现在有什么问题?
  • 语言看起来像 PHP...
  • 语言是 PHP,我们需要知道如何限制出现在每个页面上的评论数量或其他让列表按时间顺序排序的方法。

标签: sorting html-helper alphabetized


【解决方案1】:

限制每页的结果数量,如果使用后端数据库和 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-06-05
    • 2016-03-18
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    相关资源
    最近更新 更多