作者:Andyxiesz | 来源:互联网 | 2023-05-18 20:21
树型结构是很多程序会员会用到的,上面这款关于树型结构操作类,很好的解决了这个问题哦。php教程树型结构操作类代码*******************************
树型结构是很多程序会员会用到的,上面这款关于树型结构操作类,很好的解决了这个问题哦。
/php教程 树型结构操作类代码
/***************************************************************
* 树型结构操作类(如果可以写成php教程最理想)
*
* ***************************************************************/
class treenode {
var $f_id = id;
var $f_pid = pid;
var $f_lft = lft;
var $f_rgt = rgt;
var $f_s = sequence;
var $f_level = lev;
var $f_child_num = child_num;
var $table;
var $db;
/**
* 构造函数
* @param string $table 表名
* @param object $dbhanle adodbphp教程操作句柄
*/
function treenode($table, $dbhandle) {
$this->db = $dbhandle;
$this->table = $table;
//$this->db->debug = true;
}
/**
* 增加子节点
* @param array $data 节点数据
* @return bool
*/
function addchild($data){
$pid = $data[$this->f_pid];
$sql = "select max({$this->f_s}) from {$this->table} where {$this->f_pid}=$pid";
$data[$this->f_s] = $this->db->getone($sql) + 1;//得到待插入节点的序号
$sql = "select * from {$this->table} where {$this->f_id} = -1";
$rs = $this->db->execute($sql);
$sql = $this->db->getinsertsql($rs, $data);
$this->db->execute($sql); //插入节点数据
if(!$this->db->affected_rows()){
return false;
}
$this->buildtree(1,1); //重建节点左右值
$this->updatelevel(1); //生成节点级数值
return true;
}
/**
* 修改节点的数据
* @param int $id 节点id号
* @param array $data 节点数据
* @return bool
*/
php教程 php教程 php教程 php教程
教程网址:
欢迎收藏∩_∩但请保留本文链接。
推荐阅读
-
本文介绍了一种改进的SQL Server存储过程,用于生成批量插入语句。该方法不仅提高了性能,还支持单行和多行模式,适用于SQL Server 2005及以上版本。 ...
[详细]
蜡笔小新 2024-12-21 06:43:52
-
本文介绍如何从字符串中移除大写、小写、特殊、数字和非数字字符,并提供了多种编程语言的实现示例。 ...
[详细]
蜡笔小新 2024-12-22 00:08:06
-
-
本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ...
[详细]
蜡笔小新 2024-12-21 18:17:57
-
在编译BSP包过程中,遇到了一个与 'gets' 函数相关的编译错误。该问题通常发生在较新的编译环境中,由于 'gets' 函数已被弃用并视为安全漏洞。本文将详细介绍如何通过修改源代码和配置文件来解决这一问题。 ...
[详细]
蜡笔小新 2024-12-21 11:21:05
-
本文探讨了如何在Classic ASP中实现与PHP的hash_hmac('SHA256', $message, pack('H*', $secret))函数等效的哈希生成方法。通过分析不同实现方式及其产生的差异,提供了一种使用Microsoft .NET Framework的解决方案。 ...
[详细]
蜡笔小新 2024-12-21 10:38:09
-
蜡笔小新 2024-12-20 20:43:56
-
本文介绍了一种根据目标检测结果,从原始XML文件中提取并分析特定类别的方法。通过解析XML文件,筛选出特定类别的图像和标注信息,并保存到新的文件夹中,以便进一步分析和处理。 ...
[详细]
蜡笔小新 2024-12-19 17:32:58
-
本文探讨了如何通过预处理器开关选择不同的类实现,并解决在特定情况下遇到的链接器错误。 ...
[详细]
蜡笔小新 2024-12-22 12:03:31
-
本文深入探讨了面向切面编程(AOP)的概念及其在Spring框架中的应用。通过详细解释AOP的核心术语和实现机制,帮助读者理解如何利用AOP提高代码的可维护性和开发效率。 ...
[详细]
蜡笔小新 2024-12-22 10:59:43
-
本文详细探讨了SpringMVC的核心组件——DispatcherServlet的运作机制,旨在帮助有一定Java和Spring基础的开发人员理解HTTP请求是如何被映射到Controller并执行的。文章将解答以下问题:1. HTTP请求如何映射到Controller;2. Controller是如何被执行的。 ...
[详细]
蜡笔小新 2024-12-21 18:50:52
-
在PHP后端开发中遇到一个难题:通过第三方类文件发送短信功能返回的JSON字符串无法解析。本文将探讨可能的原因并提供解决方案。 ...
[详细]
蜡笔小新 2024-12-21 18:39:23
-
在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ...
[详细]
蜡笔小新 2024-12-21 18:13:59
-
本文介绍如何结合JavaScript、HTML5和C3.js来实现一个功能丰富的自定义弹出窗口。通过具体的代码示例,详细讲解了实现过程中的关键步骤和技术要点。 ...
[详细]
蜡笔小新 2024-12-20 21:22:27
-
XPath 是一种用于在 XML 文档中查找信息的路径语言,同样适用于 HTML 文件的搜索。本文将详细介绍如何利用 Python 的 lxml 模块通过 XPath 技术高效地解析和抓取网页数据。 ...
[详细]
蜡笔小新 2024-12-20 11:23:22
-
本文介绍如何在 Win10 UWP 开发中使用 XamlTreeDump 库来获取和转换 XAML 元素树为 JSON 字符串,这对于 UI 单元测试非常有用。 ...
[详细]
蜡笔小新 2024-12-19 08:25:53
-