Удаление всех сообщений

1. Nu3oN (17.10.2009 / 19:41)
как мне сделать так, чтобы когда я удалил тему из таблицы themes, то и удалились все сообщение в таблице posts у который стоит id темы которую я удаляю?

2. Иван (17.10.2009 / 19:51)
Хмм.. Просто делаеш второй запрос на удаление в таблицу posts только указываеш WHERE id='id удалёной темы'
Или я не так понял? smile

3. Nu3oN (17.10.2009 / 19:53)
2. так получится тогда что я удалю сообщение под таким же id что и тема!

4. Иван (17.10.2009 / 19:55)
А тебе разве не это надо? smile

5. Nu3oN (17.10.2009 / 19:58)
вот допустим у меня есть таблицы
themes:
id|name|time
5 | HI |1255790299
posts:
id|theme_id|msg|login
1 | 5 | HI|AxqpxA
и теперь я удаляю тему в таблице themes с id 5
и мне нужно что б из таблицы posts удалились все сообщения в ячейке theme_id со значением 5

6. Иван (17.10.2009 / 20:03)
DELETE FROM `themes` WHERE `id` = 5
DELETE FROM `posts` WHERE `theme_id` = 5

7. Виталий (17.10.2009 / 20:08)
нехочю создавать тему поетому как удалить WHERE `id`=и там несколько значений..сколько юзер задаст

8. Иван (17.10.2009 / 20:11)
7. Каких значений? Подробней надо smile

9. Виталий (17.10.2009 / 20:13)
8.ну например для привата хочю зделать так чтоби юзер мог удалить выбранние сообщения..их может бить 1,2,3-10...

10. Nu3oN (17.10.2009 / 20:15)
6. но их то там много!
я сделал удаление через цикл!
т.е делаю вначале вывод всех сообщений с id темы, а потом эти сообщения удаляются!

11. Иван (17.10.2009 / 20:19)
Ну так если не указан LIMIT то они все и удалятся

12. Виталий (17.10.2009 / 20:23)
все удалятся ,тестируй.

13. Lugaro (17.10.2009 / 20:32)
10, 6 правильно написал, это тоже самое что ты делаеш циклом, только это быстрей

14. Вантуз-мен (18.10.2009 / 15:37)
удалять через цикл не правильно, лишние действия и лишние обращения к базе
удалять выборочно надо так
при выводе сообщений добавляете форму и чекбокс около каждого сообщения в который помещаете id поста или темы
echo '<input type="checkbox" name="del[]" value="'.$data['posts_id'].'" /> ';
// а удаление обрабатываете так
$del = implode(',', $del);
DELETE FROM posts WHERE posts_id IN (".$del.") AND posts_topics_id=".$tid.
// написал кратко, кому нужно поймут


15. Виталий (18.10.2009 / 19:51)
14.спс)))

URL: https://visavi.net/topics/1800