Id - Id записи (Родитель)
Catid - потомок ID записи
Name - название записи
Спустя 9 минут, 17 секунд (11.12.2010 - 22:38) inpost написал(а):
Выбираешь в отдельную переменную id всех потомков через SELECT, потом удаляешь WHERE `id` IN ('Через запятую')
Спустя 51 минута, 33 секунды (11.12.2010 - 23:30) Guest написал(а):
Цитата (inpost @ 11.12.2010 - 19:38) |
Выбираешь в отдельную переменную id всех потомков через SELECT, потом удаляешь WHERE `id` IN ('Через запятую') |
Так тут то я и застрял. Как мне выбрать всех потомков. Ведь у выбранных потомков, могут быть еще потомки и т.д. Мне кажется что тут нужна рекурсия. Помогите пожалуйста. Если можно приведите код.
Спустя 13 часов, 18 минут, 56 секунд (12.12.2010 - 12:49) linker написал(а):
Как вариант
function DeleteRecords($Parent)или так через IN ()
{
$Resource = mysql_query("SELECT `id` FROM `table` WHERE `parent` = " . $Parent);
while($Row = mysql_fetch_assoc($Resource))
{
mysql_query("DELETE FROM `table` WHERE `id` = " . $Row['id']);
DeleteRecords($Row['id']);
}
}
DeleteRecords($Id);
function DeleteRecords($Parent)
{
$Resource = mysql_query("SELECT `id` FROM `table` WHERE `parent` = " . $Parent);
$Records = array();
while($Row = mysql_fetch_assoc($Resource))
$Records[] = $Row['id'];
mysql_query("DELETE FROM `table` WHERE `id` IN (" . implode(',', $Records) . ")");
foreach($Records as $Id)
DeleteRecords($Id);
}
DeleteRecords($Id);
Спустя 2 дня, 1 час, 42 минуты, 3 секунды (14.12.2010 - 14:31) Guest написал(а):
Цитата (linker @ 12.12.2010 - 09:49) |
Как вариантfunction DeleteRecords($Parent)или так через IN () function DeleteRecords($Parent) |
Отлично! Спасибо! Помогло!