删除无限分类并同时删除它下面的所有子分类的方法 |
本文标签:子分类 复制代码 代码如下: $act = isset ($_GET[act]) ? trim ($_GET[act]) : "; if ($act == del) { $sort_id = isset ($_GET[id]) ? intval($_GET[id]) : 0 ; $sort_ids = $sort_id; $childrenIds = getChildrenIds ($sort_id); if (!empty ($childrenIds)) { $sort_ids .= $childrenIds; } $sql = “delete from `article_sort` WHERE `sort_id` in ({$sort_ids})"; $res = mysql_query ($sql); if ($res) { alert (删除成功); exit; } else { alert (删除失败); exit; } } getChildrenIds 这个函数以前已经给出来过,不清楚的请参考 自定义函数之获取无限分类ID下的子类ID集 自定义函数之获取无限分类ID下的子类ID集 复制代码 代码如下: /*—————————————————— */ //– 获取无限分类ID下面的子类ID集 //– $sort_id = $sort_id.getChildrenIds($sort_id); //– $sql = " ….. where sort_id in ($sort_id)"; /*—————————————————— */ function getChildrenIds ($sort_id) { global $db; $ids = "; $sql = "SELECT * FROM ".$db->table(article_sort)." WHERE `parent_id` = {$sort_id}"; $res = $db->query ($sql); if ($res) { while ($row = $db->fetch_assoc ($res)) { $ids .= ,.$row[sort_id]; $ids .= getChildrenIds ($row[sort_id]); } } return $ids; } |