转帖:
今天晚上上Q的时候 ,一个以前的学员在网上问我,怎么删除一个无限分类的时候同时删除它下面的所有子分类。我把代码稍微整理了一下,发出来,放在php学员问答里面,方便以后的人查看 。
$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; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
$
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; }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
/*—————————————————— */
//– 获取无限分类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
;
}
|