gpt4 book ai didi

php - 如何删除主分类和子分类

转载 作者:行者123 更新时间:2023-11-29 09:09:08 26 4
gpt4 key购买 nike

当我删除主类别时,我不知道如何删除子子类别。

我提出了两个问题。当我删除子和子子时,这有效。但如果我要删除的类别是主猫。我无法删除 subs sub。

如果id为1,我应该怎么做才能删除汽车、菲亚特和 Pandas ?

cats_id cats_parentid cats_name 
1 0 car
2 1 fiat
3 2 panda

mysql_query("DELETE FROM cats
WHERE cats_id='".$id."'") or die(mysql_error());

mysql_query("DELETE FROM cats
WHERE cats_parentid='".$id."'") or die(mysql_error());

最佳答案

您可以像这样使用递归函数调用(在 PHP 中):

function delete_subcats($id) {
$res = mysql_query('SELECT cats_id FROM cats WHERE cats_parentid = '.$id);

if ($res) {
while ($row = mysql_fetch_assoc($res))
delete_subcats($row['cats_id']);
}

mysql_query('DELETE FROM cats WHERE cats_id = '.$id);
}

或者,如果您的表使用 InnoDB 引擎,则需要创建外键

ALTER TABLE cats ADD FOREIGN KEY (cats_parentid) REFERENCES cats(cats_id) ON DELETE CASCADE;

删除父记录后,所有连接的记录将被MySQL数据库删除,无需其他查询。

关于php - 如何删除主分类和子分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6150964/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com