足球游戏_中国足彩网¥体育资讯$

递归删除一个节点以及该节点下的所有节点示例
来源:易贤网 阅读:670 次 日期:2014-08-22 10:53:06
温馨提示:易贤网小编为您整理了“递归删除一个节点以及该节点下的所有节点示例”,方便广大网友查阅!

一段递归删除一个部门以及它的所有子部门的一段代码。仅供大家参考和自己以后备用

有的时候删除信息的时候,需要把这条信息下的所有的都删除,这个时候就需要递归删除了。下面是我在做部门管理中的删除部门功能的时候写的一段递归删除一个部门以及它的所有子部门的一段代码。仅供大家参考和自己以后备用。

下面是我的一段代码的展示:

代码如下:

/*

* 修改一条部门信息

*/

function del($bumen_id){

$sql="select bumen_id from lxsm_bumen where topbumen_id=".$bumen_id; //查询以topbumen_id为$bumen_id的bumen_id

$delsql="delete from lxsm_bumen where bumen_id=".$bumen_id; //删除bumen_id为$bumen_id的部门信息

$xiaji_id=$this->DB->fetch_assoc($sql);

if($xiaji_id){

foreach($xiaji_id as $id){

$res=$this->del($id[bumen_id]);

}

}

$result=$this->DB->query($delsql);

if($result){

return true;

}

else{

return false;

}

}

注释:这里的topbumen_id是部门信息中的上级部门的id号,fetch_assoc()函数是自己已经封装好的函数,是把查询得到的所有内容返回成一个数组。

心得体会:这是自己第一次写递归算法,写得还很稚嫩,不管怎样功能是实现了。我感觉写递归方面的代码的时候,自己先画好一个树状结构,认清其结构后,根据自己想要得到的效果,先在脑子里模拟一步一步的执行。比如这里的删除,想要删除一个部门,就得删除自己并且查找以自己为上级部门的子部门有哪些,把子部门一个一个地遍历得到,这时候子部门的操作,就和它的上级部门的删除一样,需要删除自己并且查找它的子部门,这样一来就有个类似重复的操作,子部门的操作和上级部门的操作经历的步骤是一样的,因此在子部门的遍历中让它执行这个本身的函数。这样一来就形成了一个递归算法。

中国足彩网信息请查看IT技术专栏

中国足彩网信息请查看网络编程
由于各方面情况的不断调整与变化,易贤网提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 足球游戏_中国足彩网¥体育资讯$ 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:易贤网
云南网警报警专用图标