Сортировка списка отзывов в хронологическом порядке - PullRequest
1 голос
/ 06 декабря 2008

Я пытаюсь отсортировать список обзоров фильмов в хронологическом порядке. У нас есть два варианта выбора: хронологический и алфавитный. По умолчанию страница отображается по алфавиту, но когда люди нажимают на хронологическую опцию, ничего не происходит.

Вот код, который мы имеем сейчас:

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

То, что я сделал, было триггером два if. Сначала ставим 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);
                }

Это действительно сортировало обзоры в хронологическом порядке, но оно убрало все алфавитные опции. По сути это был длинный список хронологических обзоров. Очевидно, мы не этого хотим.

Кто-нибудь знает, как ограничить количество элементов, перечисленных на странице? Или, может быть, здесь нужен совершенно другой подход, если да, то какие-нибудь предложения?

1 Ответ

1 голос
/ 07 декабря 2008

Ограничение количества результатов на странице, если используется внутренняя база данных и 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
...