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