删除无限分类并同时删除它下面的所有子分类的方法
作者:bea
代码如下: $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
代码如下:
$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;
}
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 使用VisualStudio开发php的图文设置方法
- 利用Memcached在php下实现session机制 替换PHP的原生session支持
- ThinkPHP中实例Model方法的区别说明
- PHP 数组基础知识小结
- 一个简单php扩展介绍与开发教程
- php checkbox 取值详细说明
- PHP 截取字符串专题集合
- php 过滤器实现代码
- PHP对字符串的递增运算分析
- PHP原理之异常机制深入分析
- php include加载文件两种方式效率比较
- 将一维或多维的数组连接成一个字符串的php代码
- php简单提示框alert封装函数
- php递归实现无限分类生成下拉列表的函数
- php用数组返回无限分类的列表数据的代码
- php自定义函数之递归删除文件及目录
- php自动获取目录下的模板的代码
- php下删除一篇文章生成的多个静态页面
- php中定义网站根目录的常用方法