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

Форум PHP

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

 

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

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

тема: Подъем темы в форуме.
 
 автор: Брянский   (30.10.2009 в 22:33)   письмо автору
 
 

Здравствуйте.
Пишу форум (php и mysql).
Подскажите как лучше реализовать подъем темы в форуме?
Допустим тема находится снизу, а когда в неё кто-то написал, то она поднимается вверх.

  Ответить  
 
 автор: ols   (30.10.2009 в 22:42)   письмо автору
 
   для: Брянский   (30.10.2009 в 22:33)
 

в таблице, где хранятся темы, сделать поле типа datetime, например, upd куда заносить дату последнего последнего добавления сообщения в эту тему. И, собственно, при выборке тем сортировать по данному полю в порядке убывание (ORDER BY upd DESC)

  Ответить  
 
 автор: Брянский   (30.10.2009 в 23:00)   письмо автору
 
   для: ols   (30.10.2009 в 22:42)
 

Такой вариант у меня был :)
Ну а допустим, если мы удаляем это самое последнее сообщение, то тема так-же вверху и остается :)

  Ответить  
 
 автор: Andrey__v   (30.10.2009 в 23:20)   письмо автору
 
   для: Брянский   (30.10.2009 в 23:00)
 

Можно соорудить сложный заппрос, для каждой темы получать дату последнего поста (из таблицы с постами), и по ним уже сортировать )

  Ответить  
 
 автор: Брянский   (30.10.2009 в 23:43)   письмо автору
 
   для: Andrey__v   (30.10.2009 в 23:20)
 

А это не будет нагрузку давать?

  Ответить  
 
 автор: Andrey__v   (31.10.2009 в 00:39)   письмо автору
 
   для: Брянский   (30.10.2009 в 23:43)
 

Конечно будет больше чем в первом способе )

Вобщем либо думаете сами и делаете обновление поля при удалении, либо за вас будет думать сервер )

  Ответить  
 
 автор: ols   (31.10.2009 в 00:41)   письмо автору
 
   для: Andrey__v   (31.10.2009 в 00:39)
 

> либо за вас будет думать сервер )

вот именно думать :)

  Ответить  
 
 автор: ols   (30.10.2009 в 23:22)   письмо автору
 
   для: Брянский   (30.10.2009 в 23:00)
 

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

  Ответить  
 
 автор: Trianon   (31.10.2009 в 00:44)   письмо автору
 
   для: Брянский   (30.10.2009 в 23:00)
 

Бр-р.. а зачем удалять сообщение?
Кроме того, последнее событие все равно останется в этой теме.

  Ответить  
 
 автор: ols   (31.10.2009 в 00:47)   письмо автору
 
   для: Trianon   (31.10.2009 в 00:44)
 

>Бр-р.. а зачем удалять сообщение?

Я кстати тоже не понимаю. Можно просто скрывать.

  Ответить  
 
 автор: Брянский   (31.10.2009 в 09:51)   письмо автору
 
   для: Trianon   (31.10.2009 в 00:44)
 

Ну допустим спам удалять.

  Ответить  
 
 автор: Брянский   (31.10.2009 в 09:52)   письмо автору
 
   для: Брянский   (30.10.2009 в 22:33)
 

Ладно. Всем спасибо!
Думаю что-нибудь сам придумаю ;-)

  Ответить  
 
 автор: clubxaliav   (02.11.2009 в 20:49)   письмо автору
 
   для: Брянский   (31.10.2009 в 09:52)
 

В принцепе у меня получилось по первому варианту, даже показалось легко!
1. Сперва, создал 2 дополнительных столбца в таблице новостей
1. дата опубликации комментария post_date
2. имя автора комментария name_post

2. В форме добавления комментария создал 2 невидимых(hidden) поля c name=post_date и name=name_post

3. Новости вывел в сортировке ORDER BY post_date DESC

Для того чтобы при добавлении самой новости она не оказалась в конце, так как в ней нет комментария и нет автора! По этому сделал так чтобы автор новости как бы был и автором комментария по умолчанию и дата проставлялась такая же как и сама дата опублкации новости, тогда новость будет сверху!

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

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