如何正确显示类别?

各位大佬们好,小弟有以下问题,产品三类,数据库procatalog结构如下:

pcid   pcname              level    parentid
1       工业照明灯         1         0
2       白炽灯               2         1
3       普通照明白炽灯   3         2
4       微型灯泡            3         2
5       聚光灯泡            3         2 数据挖掘研究院
6       气体放电灯         2         1
7       氙气灯               3         6
8       霓虹灯管            3         6
---------------------------------------------------
php下如何才能这样显示:

-> 工业照明灯
     -> 白炽灯
          -> 普通照明白炽灯
          -> 微型灯泡   
          -> 聚光灯泡     
     -> 气体放电灯 数据挖掘研究院
          -> 氙气灯
          -> 霓虹灯管
---------------------------------------------------
小弟一直在线,谢谢各位指点.怎么循环?  递归? 能不能写写.. 谢谢

CSDN的大佬们,指点一下啊,这里应该没有这么冷清吧...

数据查询出来生成一个XML
   然后通过读取节点的方式读取出来
这个过程中 就从parentid 判断它的值有没有pcid与其相等从而判断是属于第几级分类
呵呵 ··
   我是反照别人的方法这么做的 

其实只用javascript就可以实现,

如果用for 也简单,你不是有level 吗?if一下再显示就行了

<script LANGUAGE="JavaScript">
lists =[["--请选择--","--请选择--"],
["商场卖场","综合商场","大卖场","超市","便利店"],
["日常用品零售","食品","服装/鞋帽","钟表/眼镜","化妆品/卫生用品","文体器材","报刊图书","音像电子","珠宝首饰","工艺美术品/收藏品","照相器材"], 数据挖掘实验室
["汽车相关","4s店","汽车零售","汽配","汽车燃料/汽车周边","汽车养护/维修/汽车美容","汽车俱乐部"],
["电器/电子产品零售","家用电器","计算机整机/配件/周边","电话/手机/传真"],
["宾馆酒店","宾馆酒店"],
["金融","银行","证券","保险"],
["房地产相关","房地产开发经营","房产中介/咨询/评估/担保","房屋装修","家具/家装材料"], 
["生活服务","家庭服务","洗衣/干洗/洗染","婚介/婚庆","摄影扩印","职业介绍"],
["医疗卫生相关","综合医院","专科医院","妇幼保健","药品/医药器械销售","保健品销售","妇婴用品销售"],
["健身美容相关","健身中心","保龄球","高尔夫","球类运动","美容院","理发/美发","瘦身"], 数据挖掘论坛
["餐饮","中餐","西餐","快餐","自助餐","茶馆","咖啡馆","酒吧","风味特色小吃"],
["娱乐","夜总会","KTV/迪士高","俱乐部/沙龙","网吧","游乐园/公园","手工DIY(陶艺/缝纫/绘画等)"],
["旅游相关","旅行社","交通票务代理","旅游用品"]]
ln = lists.length
function init(){
str = " <select name=first onchange=ssel(value)> "
for(i=0;i <ln;i++){
str += " <option value='"+i+"'> "+lists[i][0]+" </option> "
}
selit1.innerHTML = str + " </select> ";
selit2.innerHTML = " <select> <option> --请选择-- </option> </select> ";
}
function ssel(x){
sln = lists[x].length 数据挖掘交友
str = " <select name=second> <option> --请选择-- </option> "
for(i=1;i <sln;i++){
str += " <option value='"+i+"'> "+lists[x][i]+" </option> "
}
selit2.innerHTML = str + " </select> ";
}
onload=init
</script>
<TABLE cellSpacing=0 cellPadding=0 width="60%" align=center border=0>
<TR bgColor=#ffffff> <TD height=26 id=selit1> </TD>
</TR>
<TR bgColor=#ffffff>
<TD height=26 id=selit2> </td> </TR>
</TABLE>

引用 2 楼 cuidenghong123 的回复:
数据查询出来生成一个XML
然后通过读取节点的方式读取出来
这个过程中 就从parentid 判断它的值有没有pcid与其相等从而判断是属于第几级分类
呵呵 ··
我是反照别人的方法这么做的

数据挖掘研究院



cuidenghong123兄,怎么听起来这么复杂哦,郁闷,我对XML,递归不是很懂,能不能就我的例子弄弄...   > _ <

引用 3 楼 magicone 的回复:
其实只用javascript就可以实现,

如果用for 也简单,你不是有level 吗?if一下再显示就行了

<script LANGUAGE="JavaScript">
lists =[["--请选择--","--请选择--"],
["商场卖场","综合商场","大卖场","超市","便利店"],
["日常用品零售","食品","服装/鞋帽","钟表/眼镜","化妆品/卫生用品","文体器材","报刊图书","音像电子","珠宝首饰","工艺美术品/收藏品","照相器材"],
["汽车相关","4s店","汽车零售","汽配","汽车燃…

magicone兄的这个javascript是没有什么问题的了,现在我是想按这样显示:
-----------------------
->  工业照明灯 数据挖掘实验室
     ->  白炽灯
          ->  普通照明白炽灯
          ->  微型灯泡   
          ->  聚光灯泡     
     ->  气体放电灯
          ->  氙气灯
          ->  霓虹灯管 
-----------------------
不用下拉列表的形式,后面的数值都是从数据库中读出来的,我对这样列出来的程序不知道怎么写,还问兄弟多多指教.

递归:

 //把读出来的数据放进二维数组
 $resultarr=array(); 
 $query=$db-> query("select * from $optable");
 while($myresult=$db-> fetch_array($query)){
   $resultarr[]=$myresult;  数据挖掘实验室
 }  

 //递归函数:查找 $pid 的子项:

 function gettypeselect($pid){
   global $resultarr;
   foreach($resultarr as $result){
     if($result[pcid]==$pid){ //找到一行
        echo str_repeat(" ",$result[level])."->  $result[pcname]";
       gettypeselect($result[parentid]); //递归,查找自己的子项
     }
   }
  }

 gettypeselect(0);

引用 6 楼 faisun 的回复:
递归:

//把读出来的数据放进二维数组
$resultarr=array();
$query=$db->  query("select * from $optable");
while($myresult=$db->  fetch_array($query)){
$resultarr[]=$myresult;
}

数据挖掘研究院



//递归函数:查找 $pid 的子项:

function gettypeselect($pid){
global $resultarr;
foreach($resultarr as $result){
if($result[pcid]==$pid){ //找到一行
echo str_repeat(" ",$result[level])."->   $result[pcname]";
get…
非常谢谢faisun兄的回答,我先研究下...


-------------------
测试没有显示...?Fatal error: Call to a member function on a non-object...
我只是把那个$optable改成了procatalog数据库名,那个$db怎么定义的?是不是要改成mysql?大大,别打我啊...  :(

Create By Any-Extract(WL-AE)

[数据挖掘专家] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:高性能纯C语言 webserver藏拙荣誉出品 大小 31KB
下一篇:有PHP+MYSQL项目愿与兄弟们合作
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • 揭秘成为最牛程序员的五大要诀
  • MYSQL错误:Illegal mix of collations (lat
  • PHP程序不适用大型系统的九大原因
  • 上海酒店公寓,上海短租公寓,上海短租房,上
  • 安装php5.2.5和mysql5.045后phpmyadmin报错
  • 福利彩票幸运号码自动生成器
  • 关于APACHE的配置文件httpd.conf
  • 国际:身处两难境地,PHP 该走向何方?
  • PHP跳转的方法?
  • 函式:preg_match_all()
  • 论坛最新话题
  • Foundations of Statistical Natural Langu
  • Game Theory meet Data Mining: A Recent P
  • System Building: How does it help or hin
  • 数据挖掘与Clementine培训
  • 新手报到
  • 求 SASEM 客户流失预测分析
  • 数据挖掘工程师/搜索研究院—北京——无线
  • 数据挖掘入门介绍(如何着手数据挖掘)
  • Information Overload Survey Results
  • The INEX 2005 Workshop on Element Retrie
  • 相关资讯
  • Module mod_log_config
  • 圣殿骑兵PHP 2007年Web开发技术预言 (四)
  • 圣殿骑兵PHP 2007年Web开发技术预言 (三)
  • 圣殿骑兵PHP 2007年Web开发技术预言 (二)
  • 圣殿骑兵PHP 2007年Web开发技术预言 (一)
  • 一棵php的类树(支持无限分类)
  • 通过对php一些服务器端特性的配置加强php的
  • 如何使用动态共享对象的模式来安装PHP
  • 提升PHP执行速度全攻略(上)
  • phpBBBBcode处理的漏洞
  • 数据挖掘实验室资料
  • 数据挖掘博客地址
  • 数据挖掘实验室网站地址
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静