| |
 |
|
 |
 |
|
 |
(Adodb)无级分类(无递归)+无级JS联动+树状显示+导航输出+批量移动
|
|
|
|
<?php /** * 程序:无级分类(无递归) + 无级JS联动 + 树状显示 + 导航输出 + 批量移动 * 作者:欣然随风(QQ:276624915)xrsf.cublog.cn * 时间:2008-6-17 16:39 * * [支持] http://blog.chinaunix.net/u/12228/showart_86263.html * * [更新] * 本代码早于06年编写,因近期项目需要,对其进行了大量优化和完善,调用更加简单方便, * 利用本代码,可轻松实现如taobao、阿里巴巴等分类的展现。 * * [功能] * 1.无限分类,分类输出无递归,以order by排序,PHP排序时间复杂度为零 * 2.无限JS联动,支持下拉、列表菜单展示;可设置:默认项、是否必选 * 3.分类输出,可设置输出起点、是否输出后继子类、自定义树状输出样式 * 4.同级分类输出 * 5.目录导航,(形如:首页 -> 分类一 -> 分类二 -> 分类三 ……) * 6.分类批量添加、批量移动、关联资源同步更新 * * [重要] * 1.分类建好后,在添加资源(如文章内容)时,应一并保存奴属分类的关系树 * 作用:输出资源列表时可用“关系树字段 LIKE '关系树%”取得后继子类中的内容 * 当分类移动后也将通过此字段批量移动资源内容 * 2.执行分类移动操作前,务必设置好sort_move函数的post_table参数,否则分类与内容将失去关联 * 3.位宽。因字段宽度限制,"无级分类"仅指程序上的无级算法,实际应用时需指定分类标识所占字段宽度 * 若宽度为2,取值从10~99,即每个分类可建90个子类, * 若宽度为3,取值从100~999,即每个分类可建900个子类,以此类推。 * 位宽一但设置不可更改,否则将打乱分类关联!一般系统值设为2就足够了。 * * [应用前] * 1.载入ADODB数据库操作类,实例对象名:$_conn; * 2.定义表名常量:TABLE_SORT * 3.定义位宽常量:WIDTH_MAX * 4.PHP版本:5.x * * [表结构参考] * sort_id 自增ID * sort_tree 关系树(资源内容指向此作为奴属,格式如:10:11:12:……,字段宽度:位宽*分类级数+分类级数-1) * sort_base 根分类(字段宽度:取位宽) * sort_son 子分类(字段宽度:取位宽) * sort_tier 分类级数(字段宽度:1,若分类有10级以上设2,100级以上设3,… 以此类推,取级数宽度) * sort_name 分类名称 */
|
 |
| 文件: |
sort.rar |
| 大小: |
7KB |
| 下载: |
下载 | 包含: 类文件1个 DEMO文件2个 JS文件2个 SQL文件1个 |
|
|
|
发表于: 2006-03-16,修改于: 2008-08-26 09:56,已浏览3200次,有评论20条
推荐
投诉
|
|
 |
|
 |
|  |
|
 |
 |
|
 |
网友评论
 |
|
 |
 |
网友:
国际村的... | 时间:2006-03-21 09:17:31 IP地址:210.82.103.★ |
|
|
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
hlgao | 时间:2006-03-22 14:38:21 IP地址:218.28.35.★ |
|
|
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
webbus.cn | 时间:2006-03-29 19:29:18 IP地址:222.64.87.★ |
|
|
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
坤 | 时间:2006-03-29 20:20:43 IP地址:61.149.114.★ |
|
|
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
本站网友 | 时间:2006-05-11 15:54:27 IP地址:218.81.105.★ |
|
|
|
Fatal error: Call to a member function GetArray() on a non-object in D:\web\test\class_sort.php on line 353
第一次测试时出现这种错误,是数据库没有数据的原故还是别的原故.请楼主提点一下.
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
欣然随风 | 时间:2006-05-11 16:57:13 IP地址:211.137.96.★ |
|
|
|
常见问题:很多网友遇到同上的问题。是由于adodb未开启字符串作下标。
在加载adodb后跟上下边这句:
$ADODB_FETCH_MODE= ADODB_FETCH_ASSOC;
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
布鞋 | 时间:2006-05-17 13:23:07 IP地址:218.59.137.★ |
|
|
|
能否提供一个不使用模版,只使用adodb的版本,我想这样适用的范围会更广泛。我的邮箱:ego_xu@126.com。
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
欣然随风 | 时间:2006-05-17 16:13:37 IP地址:211.137.96.★ |
|
|
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
文明猪 | 时间:2006-05-23 01:03:47 IP地址:202.180.140.★ |
|
|
|
我在firefox下运行没出问题,但在ie下有问题,就是不能出现下拉菜单,我没有用smarty
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
文明猪 | 时间:2006-06-12 09:15:37 IP地址:202.180.141.★ |
|
|
|
我将此程序用到了我正在编写的cms中,为了感谢作者的劳动,也为了给其他朋友做点贡献,我将它与xtree整合,用于树状菜单。
方法:
①下载xtree: http://webfx.eae.net/dhtml/xtree/
②在要添加菜单的地方包含进put_class.js文件(分类的js文件)
③将xtree的tree.js改成:
if (document.getElementById) {
var tree = new WebFXTree('Root');
var dic=eval(arrType),objValue="";
var intDepth,strTitle,strValue,j;
var olditem;
var objarr = new Array();
tree.setBehavior('classic');
for(var i=0;i<dic.length;i++){
intDepth=dic[i][0];strTitle=dic[i][1];strValue=dic[i][2];
var kitema = new WebFXTreeItem(strTitle,'?id='+strValue);
objarr[strValue]= kitema;
if(strValue.length>3){
var pname = strValue.substring(0,strValue.length-3);
kitem = objarr[pname];
}else{
var kitem= tree;
}
kitem.add(kitema);
}
document.write(tree);
}
成功!
有问题可以和我交流:wenmingpig@msn.com(邮件,msn不常开)
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
doudoukiki | 时间:2006-08-29 06:27:44 IP地址:210.21.43.★ |
|
|
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
shaojiang | 时间:2006-09-12 16:40:55 IP地址:59.58.173.★ |
|
|
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
菜鸟 | 时间:2006-11-21 20:08:31 IP地址:220.189.211.★ |
|
|
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
douchuanlei
| 时间:2007-06-06 13:43:55 IP地址:125.37.187.★ |
|
|
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
lonestone | 时间:2007-07-09 20:54:23 IP地址:58.49.210.★ |
|
|
|
下载研究,楼主精神值得学习。
准备用到实际中,谢谢楼主!
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
本站网友 | 时间:2008-08-10 00:06:37 IP地址:120.66.65.★ |
|
|
|
您好,谢谢楼主。 我这里下拉框无法显示,提示'arrType' 未定义,请问这是为什么?
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
本站网友 | 时间:2009-01-18 00:25:01 IP地址:115.193.166.★ |
|
|
|
随风大哥,按照<SCRIPT language=JavaScript>drawSelect(null,"arrType",0,"tree","","");</SCRIPT>调用了,如果表单提交怎么获取参数的值呢?谢谢
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
本站网友 | 时间:2009-05-09 16:39:30 IP地址:124.93.243.★ |
|
|
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
JXU | 时间:2009-05-25 16:26:07 IP地址:221.9.16.★ |
|
|
|
|
|
|
 |
|
 |
 |
|
 |
 |
网友:
本站网友 | 时间:2009-06-06 17:04:26 IP地址:218.25.20.★ |
|
|
|
|
|
|
 |
|
 |
|  |
|
 |
|