|
|
|
| Здравствуйте!
Есть таблица с 10 новостями (последние новости на сайте). Хочу написать скрипт, который при добавлении новой новости удаляет последнюю. Новости должны выстраиваться от самой новой вверху до самой старой внизу.
Подскажите пожалуйста, как это сделать проще? Лично я сразу подумал об id сообщений. Вставить, где id=1, удалить, где id=10, а потом сместить id всех остальных новостей: 2=3, 3=4 и т.д. Может есть более рациональный способ?
Заранее спасибо. | |
|
|
|
|
|
|
|
для: Bombey
(26.09.2009 в 08:41)
| | зачем вам отдельная таблица для десяти новостей? удалённая новость удаляется безвозвратно или..? | |
|
|
|
|
|
|
|
для: Bombey
(26.09.2009 в 08:41)
| | если у вас id - PK, то "сместить " id не получиться.
можно добавить поле date в таблицу
и update записи с самой старой датой добавления
при выборке сортировать по полю date | |
|
|
|
|
|
|
|
для: ride
(26.09.2009 в 09:03)
| | Valick и ride - спасибо. Вообще-то думал удалять новость безвозвратно, потому что архив новостей ведется одтельно. Но поле с датой - замечательная мысль! Еще один только вопрос - как обновить время добавления новости?
Я пробую так, и пишет, что ошибка.
$query = "UPDATE table_name
SET add = NOW(),
WHERE id_msg=".$_POST["id_msg"]; // Это поле передается скрипту из формы в скрытом виде
|
| |
|
|
|
|
|
|
|
для: Bombey
(26.09.2009 в 09:20)
| | запятая зачем?
И почему Вы не читаете сообщение об ошибке? | |
|
|
|
|
|
|
|
для: Trianon
(26.09.2009 в 10:07)
| | Можно и без запятой, все равно ошибка.
Ничего наводящего на размышления не пишет: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'NOW() WHERE id_msg=1' at line 8 :( | |
|
|
|
|
|
|
|
для: Bombey
(26.09.2009 в 10:32)
| | как минимум, диагностика показывает точку, где сервер перестал воспринимать текст, как правильный запрос.
UPDATE table_name SET add =
|
Похоже, add ему и не понравилось. Как ключевое слово. | |
|
|
|
|
|
|
|
для: Bombey
(26.09.2009 в 09:20)
| | Какой литературой вы пользуетесь при решении данного вопроса? | |
|
|
|
|
|
|
|
для: Valick
(26.09.2009 в 10:10)
| | К сожалению, пока только материалами разных форумов | |
|
|
|
|
|
|
|
для: Bombey
(26.09.2009 в 10:33)
| | Возможно, я неточно сформулировал вопрос. Есть поле add в формате datetime. Мне его нужно просто обновить, в случае редактирования новости. Как нужно прописать строку? add = NOW(), просто NOW() или как? | |
|
|
|
|
|
|
|
для: Bombey
(26.09.2009 в 10:36)
| | add = NOW()
попробуйте add написать так `add` | |
|
|
|
|
|
|
|
для: ride
(26.09.2009 в 10:57)
| | Спасибо огромное! Работает. | |
|
|
|