Sash'ok
18.10.2009 - 01:53
Здравствуйте. у меня такая проблема.
есть необходимость сделать в форуме ссылку "удалить" возле каждого сообщения.
Но в категории, первое сообщение не каждой темы имеет id=1
а мне нужно сделать так:
если сообщение в этой теме первое, то выполняется 1 запрос к базе на удаление всех сообщений этой темы и 2 запрос на удаление темы.
а если сообщение в теме не первое, то удалять только это сообщение.
Подскажите плиз, как выполнить запрос к базе, так чтоб определить первое сообщение базы. id которого не равно 1
код для выбора id примерно такой
PHP |
$result = dbquery("SELECT * FROM ".$db_prefix."posts WHERE forum_id=$forum_id AND thread_id=$thread_id"); $post=dbarray($result); |
а дальше проблема. как выбрать пост именно с наименьшим id для данного форума ($forum_id) и темы ($thread_id") ???
Спустя 10 часов, 9 минут, 7 секунд (18.10.2009 - 11:02) web-dev написал(а):
PHP |
$id=$_GET['id']; // это id сообщения которое нужно удалить $result = dbquery("SELECT id FROM ".$db_prefix."posts WHERE forum_id=$forum_id AND thread_id=$thread_id AND id<'$id'"); if (mysql_num_rows($result)==0) // сообщений с меньшим id нет, следовательно оно первое { dbquery("DELETE FROM ".$db_prefix."posts WHERE forum_id=$forum_id AND thread_id=$thread_id"); } else // не первое, значит удаляем только одно сообщение { dbquery("DELETE FROM ".$db_prefix."posts WHERE forum_id=$forum_id AND thread_id=$thread_id AND id='$id'"); } |
Спустя 1 день, 12 часов, 50 минут, 50 секунд (19.10.2009 - 23:53) Sash'ok написал(а):
web-dev, Спасибо большое! Все верно. именно так и нада было сделать