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

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

Например:

$sql = "SELECT * FROM TABLE ORDER BY TimeAdded"
$sql = "SELECT * FROM TABLE ORDER BY Helpfulness"

Или есть ли лучший способ сделать это?

Во-вторых, изготовление страниц для обзоров. Это так же просто, как использовать цикл и ограничение в запросе MySQL для отображения 10 результатов на странице?

Edit: Для огромного сайта обзора, было бы идеально, если бы MySQL обрабатывал всю сортировку?

Ответы [ 2 ]

1 голос
/ 06 января 2010

Вы поняли это правильно с обеих сторон, Даг.

Для огромного сайта обзора вы все еще хотите, чтобы MySQL сортировал результаты, вы просто хотите использовать оптимизацию на стороне сервера (хороший вариант.cnf, кэширование на стороне сервера и т. д.) и кэширование кода.Это целый «второй шарик воска», но основы в основном те же.

1 голос
/ 06 января 2010

Вы можете позволить базе данных управлять порядком, как у вас (рекомендуется), или вы можете загрузить все результаты и затем отсортировать их, используя ваш PHP-код. Кроме того, вы можете поместить их все в HTML и отсортировать их с помощью JavaScript.

Для разбивки на страницы вы можете использовать предложения LIMIT и OFFSET (или LIMIT 10,10) для просмотра набора результатов (конечно, если набор результатов изменится, ваша разбивка на страницы также может измениться).

SELECT * FROM posts ORDER BY helpfulness LIMIT 10,10

OR

SELECT * FROM posts ORDER BY helpfulness LIMIT 10 OFFSET 10

Для комбинирования разбивки на страницы и сортировки я определенно рекомендовал бы оставить это для обработки в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...