Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как при добавлении 1-й строки таблицы удалить последнюю?
 
 автор: Bombey   (26.09.2009 в 08:41)   письмо автору
 
 

Здравствуйте!
Есть таблица с 10 новостями (последние новости на сайте). Хочу написать скрипт, который при добавлении новой новости удаляет последнюю. Новости должны выстраиваться от самой новой вверху до самой старой внизу.
Подскажите пожалуйста, как это сделать проще? Лично я сразу подумал об id сообщений. Вставить, где id=1, удалить, где id=10, а потом сместить id всех остальных новостей: 2=3, 3=4 и т.д. Может есть более рациональный способ?
Заранее спасибо.

  Ответить  
 
 автор: Valick   (26.09.2009 в 09:00)   письмо автору
 
   для: Bombey   (26.09.2009 в 08:41)
 

зачем вам отдельная таблица для десяти новостей? удалённая новость удаляется безвозвратно или..?

  Ответить  
 
 автор: ride   (26.09.2009 в 09:03)   письмо автору
 
   для: Bombey   (26.09.2009 в 08:41)
 

если у вас id - PK, то "сместить " id не получиться.
можно добавить поле date в таблицу
и update записи с самой старой датой добавления
при выборке сортировать по полю date

  Ответить  
 
 автор: Bombey   (26.09.2009 в 09:20)   письмо автору
 
   для: ride   (26.09.2009 в 09:03)
 

Valick и ride - спасибо. Вообще-то думал удалять новость безвозвратно, потому что архив новостей ведется одтельно. Но поле с датой - замечательная мысль! Еще один только вопрос - как обновить время добавления новости?
Я пробую так, и пишет, что ошибка.


$query = "UPDATE table_name
SET add = NOW(),
WHERE id_msg=".$_POST["id_msg"]; // Это поле передается скрипту из формы в скрытом виде

  Ответить  
 
 автор: Trianon   (26.09.2009 в 10:07)   письмо автору
 
   для: Bombey   (26.09.2009 в 09:20)
 

запятая зачем?
И почему Вы не читаете сообщение об ошибке?

  Ответить  
 
 автор: Bombey   (26.09.2009 в 10:32)   письмо автору
 
   для: 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 :(

  Ответить  
 
 автор: Trianon   (26.09.2009 в 11:29)   письмо автору
 
   для: Bombey   (26.09.2009 в 10:32)
 

как минимум, диагностика показывает точку, где сервер перестал воспринимать текст, как правильный запрос.
UPDATE table_name SET add =  

Похоже, add ему и не понравилось. Как ключевое слово.

  Ответить  
 
 автор: Valick   (26.09.2009 в 10:10)   письмо автору
 
   для: Bombey   (26.09.2009 в 09:20)
 

Какой литературой вы пользуетесь при решении данного вопроса?

  Ответить  
 
 автор: Bombey   (26.09.2009 в 10:33)   письмо автору
 
   для: Valick   (26.09.2009 в 10:10)
 

К сожалению, пока только материалами разных форумов

  Ответить  
 
 автор: Bombey   (26.09.2009 в 10:36)   письмо автору
 
   для: Bombey   (26.09.2009 в 10:33)
 

Возможно, я неточно сформулировал вопрос. Есть поле add в формате datetime. Мне его нужно просто обновить, в случае редактирования новости. Как нужно прописать строку? add = NOW(), просто NOW() или как?

  Ответить  
 
 автор: ride   (26.09.2009 в 10:57)   письмо автору
 
   для: Bombey   (26.09.2009 в 10:36)
 

add = NOW()
попробуйте add написать так `add`

  Ответить  
 
 автор: Bombey   (26.09.2009 в 22:19)   письмо автору
 
   для: ride   (26.09.2009 в 10:57)
 

Спасибо огромное! Работает.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования