Сортировка списка отзывов в хронологическом порядке

StackOverflow https://stackoverflow.com/questions/345589

Вопрос

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

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

// 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