SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 30.10.2012 01:14:25

Sandr
Участник
Зарегистрирован: 07.03.2012
Сообщений: 12

Черновики

Доброго времени суток)

Делаю онлайн дневник. У администратора есть возможность создавать заметки и сразу опубликовывать или же отправлять заметку в черновики.
В таблице кроме "стандартных" полей типа `id`, `name`, `text`, `date` и т.п. есть поле `public`. Если public равно 1, то заметка публикуется, если 0, то не публикуется и считается как черновик, который администратор может опубликовать в любое время.
Заметки выводятся по `id` (order by `id` desc).
И тут возникает небольшая проблема.
Например, администратор, после того как создал черновик, опубликовал ещё несколько статей(естественно их id будет выше чем у черновика), а потом опубликовал и сам черновик. Т.к. черновик был опубликован последним, то и выводиться он должен последним. Но этого не будет, т.к. у него id меньше чем у тех записей.
Вопрос: что делать?)
Предполагаю, что можно попробовать выводить по дате, или для черновиков создать отдельную таблицу. Может быть есть вариант по лучше?

Неактивен

 

#2 30.10.2012 01:21:17

deadka
Администратор
Зарегистрирован: 14.11.2007
Сообщений: 2422

Re: Черновики

Самое простое, что приходит в голову - это хранить и дату и время последней модификации статьи (ну или черновика), причем mysql позволяет хранить их единым типом datetime - и сортировать по нему по убыванию. То есть когда админ добавит несколько статей, а потом подредактирует черновик - поскольку при сохранении черновика значение времени обновится, то и выведено оно будет первым, что и требуется.  Заводить для черновиков отдельную таблицу имхо здесь незачем.


Зеленый свет для слабаков, долги отдают только трусы, тру гики работают только в консоли...

Неактивен

 

#3 30.10.2012 01:55:26

Sandr
Участник
Зарегистрирован: 07.03.2012
Сообщений: 12

Re: Черновики

deadka написал:

Самое простое, что приходит в голову - это хранить и дату и время последней модификации статьи (ну или черновика), причем mysql позволяет хранить их единым типом datetime - и сортировать по нему по убыванию. То есть когда админ добавит несколько статей, а потом подредактирует черновик - поскольку при сохранении черновика значение времени обновится, то и выведено оно будет первым, что и требуется.  Заводить для черновиков отдельную таблицу имхо здесь незачем.

Точно!) Как же я сам не додумался.. Спасибо)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson