[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обновление данных
Sash'ok
Здравствуйте. У меня вот какая проблема.
сделал сылку удаления сообщений на форуме рядом с изменить, цитировать и т.д.
Когда удаляю сообщение, оно удаляется, но на главной странице форума всеравно пишет, что последнее сообщение отправил тот, чье сообщение я удалил. и время посл сообщения - время удаленного соообщения

темы в таблице threads с такими колонками
forum_id thread_id thread_subject thread_author thread_views thread_lastpost thread_lastuser thread_sticky thread_locked

а сообщения в таблице posts с такими
forum_id thread_id post_id post_subject post_message post_showsig post_smileys post_author post_datestamp post_ip post_edituser post_edittime

вот при удалени сообщение удаляется из posts, при удалении темы удаляется строка из threads и из Posts все сообщения thread_id которых = id той темы.
а как обновить thread_lastpost и thread_lastuser из предпоследнего поста - не знаю

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

подскажите хотябы как сделать этот запрос на обновление. Заранее спасибо



Спустя 1 день, 6 часов, 52 минуты, 17 секунд (4.11.2009 - 00:54) Sash'ok написал(а):
Блин, помогите, а? ничо не получается sad.gif

Спустя 2 часа, 31 минута, 6 секунд (4.11.2009 - 03:26) twin написал(а):
Цитата
Блин, помогите, а? ничо не получается

Чем помочь то... Покряхтеть только если хором...
Код то где...

Спустя 2 дня, 10 часов, 2 минуты, 46 секунд (6.11.2009 - 13:28) Sash'ok написал(а):
Все, сделал))

$pdata = dbarray(dbquery("SELECT forum_id,post_author,post_datestamp FROM ".$db_prefix."posts WHERE forum_id='$forum_id' ORDER BY post_datestamp DESC LIMIT 1"));  
$result = dbquery("SELECT post_id FROM ".$db_prefix."posts WHERE forum_id=$forum_id AND thread_id=$thread_id AND post_id <'$delpost_id'");
if (mysql_num_rows($result)==0)
{
dbquery("DELETE FROM ".$db_prefix."posts WHERE forum_id=$forum_id AND thread_id=$thread_id");
dbquery("DELETE FROM ".$db_prefix."threads WHERE forum_id=$forum_id AND thread_id=$thread_id");
dbquery("UPDATE ".$db_prefix."forums SET forum_lastpost='".$pdata['post_datestamp']."', forum_lastuser='".$pdata['post_author']."' WHERE forum_id='$forum_id'");
redirect("viewforum.php?forum_id=$forum_id");

}
else
{
dbquery("DELETE FROM ".$db_prefix."posts WHERE forum_id=$forum_id AND thread_id=$thread_id AND post_id='$delpost_id'");
dbquery("UPDATE ".$db_prefix."forums SET forum_lastpost='".$pdata['post_datestamp']."', forum_lastuser='".$pdata['post_author']."' WHERE forum_id='$forum_id'");
dbquery("UPDATE ".$db_prefix."threads SET thread_lastpost='".$pdata['post_datestamp']."', thread_lastuser='".$pdata['post_author']."' WHERE forum_id='$forum_id' AND thread_id = $thread_id");
redirect("viewthread.php?forum_id=$forum_id&thread_id=$thread_id");
}


косяк сам в одной строчке допустил, оно не робило unsure.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.