当前位置:首页 > 日记 > 正文

实现了无限类的分类

实现了无限类的分类
项目思维分析:PHP项目需要进行分类,但不一定要划分几个级别,因此您希望生成一个无限类。

开始时,数据库像以前一样构建了4个值,如下所示:

身份:PID:类ID |增量| xid:ID类名:|排名类别名称

后来人们认为读取和修改数据是不方便的,读取产品时特别不便,并更改了以下方案。

MySQL表中添加了一个新字段,当前数据库如下所示:

表w_faqclass:编号:增量PID:|类ID xid:ID类名:| |排名类别名称|等级:等级

定义 uff1a

第一级分类,PID为0,秩为

两级分类,PID为id的第一类分类,等级为一类ID。

三级分类,PID为id的两类分类,排序为id I/id类的第一类分类。

凡此种种,不一而足。

1。基本功能

*
递归地返回到顺序的不定级别分类数组。
如果您不想使用递归,您可以使用它来获取并稍后进行排序。我很懒。我不会那样写的。实际上,最好用推荐的方式。
数据表:数据表的名称为
美元开始startid:父类ID
wheretcolumns美元:父类的名称
xcolumns美元:排序的列的名称
$ X型:排序方式
returnarr美元:返回一个数组
* /
功能readclass($ DataTable,startid美元美元美元,xtype,returnarr){
分贝= DataTable美元美元;
SID = startid美元美元;
$ xtype = $ X型;
路returnarr美元美元=;

$。PID。为XID。$ X型。;
cresult = mysql_query美元($ SQL);
如果(mysql_num_rows($ cresult)> 0){
而(RS = mysql_fetch_array美元(美元cresult)){
lunum美元=计数(合路);
{ } {美元美元的路lunum 'id' } = $ RS { 'id' };
路lunum } { {美元美元'pid} = { } 'pid美元的RS;
路lunum } { {美元美元'rank} = { } 'rank美元的RS;
路lunum } { {美元美元'classname} = { } 'classname美元的RS;
路lunum } { {美元美元'xid} = { } 'xid美元的RS;

$路= ReadClass($ dB,$ RS { 'id' },xtype美元,美元的路);
}
}
返回$鲁;
}
*
查询表中的值,只返回一个值。
数据表:数据表的名称为
wherevalue美元:条件价值
selectcolumns美元:查询的列名
wherecolumns美元:有条件的列
* /
函数的SelectValue($ DataTable,wherevalue selectcolumns美元,美元,美元wherecolumns){
$select
结果= mysql_query美元($ SQL);
而(RS = mysql_fetch_array美元($结果)){
返回的RS { $ selectcolumns };
}
}
2。增加分类(直接在选择中选择)

< PHP
classarr美元= ReadClass('w_faqclass ','0','asc,阵列());
$米团=计数($ classarr);


主要分类;
为($我= 0;美元美元美元我<<米团;i++){
rankarr美元=分裂( /
ranknum美元=计数($ rankarr);
= $ ;
(J = 1;对美元美元美元,<< ranknum;j++){ / /格式化的子类
$ 只是所有;
}
回声T classarr美元。美元美元} { {我'classname}。;
}

>

保存操作时,需要判断是否主分类,何时主类,用秩值
查询父级的值,父级加上父类id值。
如果(PID)!= 0){
pidrank美元= SelectValue('w_faqclass,$ PID,'rank,'id');
等级=美元美元美元pidrank PID。;
其他{ }
=;
}
三.改性的分类

< PHP
*
请注意,由于修改了,在加载页面时,当前分类的所有值都已被读取,相应的值是:
* /
classarr美元= ReadClass('w_faqclass ','0','asc,阵列());
$米团=计数($ classarr);

主要分类;

为($我= 0;美元美元美元我<<米团;i++){
因为是修改的,所以目前的分类不能选择自己或自己下面的分类,添加一个等级值优势啊,呵呵,以前的单pid值这里有递归查询。
而IDS = = $(美元classarr { $我} { 'id' } strstr($ classarr { } { }我'rank美元的美元美元,排名系统。| | / )){
美元+;
}

rankarr美元=分裂( /
ranknum美元=计数($ rankarr);
= $ ;
(J = 1;对美元美元美元,<< ranknum;j++){
$ 只是所有;
}
如果($ PID = = { } {我classarr美元美元'id' }){
选定的$ 选定;
其他{ }
=选定的$ ;
}
回声T classarr美元。美元美元} { {我'classname}。;
}

>

当操作 /保存时
做 / /改变所有等级的值改变分类,使原来的子类别一般等级的价值,这是排名值加上其ID值的分类。
替换mysql语句的替换
如果(PID)!= 0){
pidrank美元= SelectValue('w_faqclass,$ PID,'rank,'id');
等级=美元美元美元pidrank PID。;
其他{ }
=;
}
orank美元= SelectValue('w_faqclass,$ IDS,'rank,'id'),入侵检测系统。;
nrank =美元美元美元ID排序。;

mysql_query(更新` w_faqclass `组的秩=取代(等级,orank美元。,nrank美元。);
mysql_query(更新` w_faqclass `集` className ` =$类名。
4。简单的删除和查询,这不是多余的,提一点,记得删除之前删除的子类下的子类可以。

济德美元= SelectValue('w_faqclass,$ IDS,'id','pid);

如果($济德> 0){

}
上面的无限分类的实现方法是mysql,希望对你有所帮助。

相关文章

同步和异步Ajax异步属性值之间的同

同步和异步Ajax异步属性值之间的同

异步,同步,属性值,差异,电脑软件,在jQuery的Ajax异步方法有一个属性,它是用来控制同步和异步。默认的是真的,那就是,Ajax请求是异步请求的默认,有时AJAX同步是在项目中使用。这意味着当同步代码加载到JS当当前Ajax将所有代码在页面停止加载页面…

如何实现基于javascript的私有成员语法特

如何实现基于javascript的私有成员语法特

特征,语法,成员,如何实现,电脑软件,前言 封装是面向对象的编程范式的一个基本概念,和私有成员是实现在传统的面向对象的语言如java封装的一个重要途径,C++。但在Javascript,不在语法特征为私有成员的支持,这也使得开发商使出各种js实现的技巧邪恶的…

excel基本知识:用特殊符号补充excel

excel基本知识:用特殊符号补充excel

数字,基本知识,特殊符号,基数,电脑软件,除了重复输入,REPT另一个衍生的功能是创建一个包含纯文本直接在工作表中的直方图。它的原理很简单,就是利用特殊符号的智能重复,按照指定单元格计算结果表现出长短不一的影响。 例如,我们首先制定年度资…

有趣的签名文件和个性签名

有趣的签名文件和个性签名

签名文件,个性签名,有趣,电脑软件,随着网络技术的不断发展,网络对人们生活的影响,越来越多的QQ成为使用最广泛的聊天工具,促进网络交际功能实现的关联,一个好的标志,可以让你的人这么小的深刻的记忆,在这里介绍一些有趣的签名,我希望你可以爱哦。 …

发自内心的伤感签名伤感签名

发自内心的伤感签名伤感签名

伤感,内心,电脑软件,我忘了如何快乐,但我永远不会忘记你。谁能感受到心中的痛苦。选择你的QQ签名,让自己与众不同不同。小编辑在这里推荐一些伤感签名的家庭。 1,我终于做了二亿,失去了记忆。 2。当你学会坚强的时候,不要忘记那些使你坚强的伤痛…

Javascript编程中布尔对象的基本用法

Javascript编程中布尔对象的基本用法

编程,对象,布尔,电脑软件,Javascript,布尔(布尔)对象用于将非布尔值转换为布尔值(true或false)。 查布尔值 检查布尔对象是true还是false。 源代码示例: 新布尔(0); 新的布尔值(1); 新的布尔值(); VaR B4 =新的布尔(空); 新布尔(南); 新的布尔值(); document.w…

PHP中基于Perl的正则表达式处理函

PHP中基于Perl的正则表达式处理函

函数,正则表达式,电脑软件,PHP,Perl,我们学会了正则表达式的基本语法,包括分隔符、原子、元素的字符和图案修饰。事实上,正则表达式必须使用正则表达式处理功能,如果他们想发挥作用。在这一节中,我们将介绍基于Perl PHP正则表达式处理功能,主要…

非主流非主流人格的签名

非主流非主流人格的签名

非主流,人格,电脑软件,失恋就像剪坏头发,而安慰只是一句温馨的废话。以下是非主流人格签名,希望对你的小汇编有用,欢迎阅读: 非主流人格签名: 我只是失去了爱,你追我,跟我谈真爱,你取笑我 在这种情况下,你不必太多愁善感,有些人,比如我甚至没有失恋对…

QQ空间收藏的歌曲怎么没见过QQ常见

QQ空间收藏的歌曲怎么没见过QQ常见

常见问题,空间,没见过,收藏,歌曲,当您发现在QQ空间中收集的歌曲丢失时,建议您尝试清空IE缓存并检查条目空间。因为有时候太多IE缓存或网络不稳定可能导致对您的歌曲集没有读取。如果仍然没有恢复,则可能是以下内容: 1,你的密码泄露使别人恶意…

悲伤的个性爱签名情感人格签名

悲伤的个性爱签名情感人格签名

人格,悲伤,情感,电脑软件,为什么幸福总是擦肩而过,偶尔当你,让回忆陪着我。下面的小编辑伤心的个性签名,供你参考,我希望你能得到! 悲伤人格签名: 如果你再这样做,不要怪我是个男人! 他的妈妈淹死了,他的母亲杀死了所有的幸福夫妻。 冬天总是那么流…

Word2003显示段落样式名称Word2003

Word2003显示段落样式名称Word2003

文档,显示,教程,段落,样式,1。如果在其他视图中,切换到公共视图(一般视图:显示文本格式和简化页面视图)。 2、在工具菜单中,单击选项,然后单击查看选项卡。 3、在大纲视图和一般视图选项下;样式区域宽度框中输入样式区域(样式区域:文档窗口左侧的垂…

在荷花池一侧的人物PS图象处理软件

在荷花池一侧的人物PS图象处理软件

荷花池,图象,处理软件,人物,电脑软件,今天,萧边教你使用PS图象处理软件来调节在早上,照片上的人。 增加光似乎很简单,其实有很多细节需要注意,首先选择夏光天空素材的权利,完美融合材料;然后整体颜色要均匀,颜色根据天空的颜色;对光源与背光的位置…