PHP / MySQL шаблон для заказа постов? - PullRequest
0 голосов
/ 12 марта 2012

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

Кроме того, каждое сообщение относится к определенной категории.(Я считаю, что этот дополнительный параметр имеет значение при заказе постов в определенной категории)

Пожалуйста, дайте мне несколько советов / шаблонов кода, как бы вы это сделали?

ps Я не хочудобавить новые таблицы, сделать больше отношений, я хочу, чтобы это было как можно проще ...

Ответы [ 2 ]

0 голосов
/ 12 марта 2012

Допустим, у вас есть таблица со следующими столбцами:

  • id
  • post
  • категория

Вы можете добавитьновый целочисленный столбец с именем rank.Используя новый столбец ранга, вы можете упорядочить свои посты так:

SELECT `post` from tblPosts order by category, rank;

Теперь вы можете упорядочивать свои посты, присваивая им ранг.В приведенном выше примере меньшие числа будут перечислены вверху, а более крупные внизу.

0 голосов
/ 12 марта 2012

Я бы лично сделал это, добавив поле sort_index в таблицу со значением по умолчанию, например, равным 100. Затем вы можете перемещать сообщения вниз, уменьшая их порядок сортировки, или увеличивать их, увеличивая. Начиная с определенного числа, вы устанавливаете базовую линию для сортировки сообщений по умолчанию.

SELECT * FROM `posts` ORDER BY sort_index DESC, date_posted DESC

Это будет использовать гарантию того, что сообщения с одинаковым индексом сортировки получат вторичную сортировку на основе даты их публикации.

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

...