сделал сылку удаления сообщений на форуме рядом с изменить, цитировать и т.д.
Когда удаляю сообщение, оно удаляется, но на главной странице форума всеравно пишет, что последнее сообщение отправил тот, чье сообщение я удалил. и время посл сообщения - время удаленного соообщения
темы в таблице 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 написал(а):
Блин, помогите, а? ничо не получается

Спустя 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");
}
косяк сам в одной строчке допустил, оно не робило
