递归: //把读出来的数据放进二维数组 $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);
非常谢谢faisun兄的回答,我先研究下...------------------- 测试没有显示...?Fatal error: Call to a member function on a non-object... 我只是把那个$optable改成了procatalog数据库名,那个$db怎么定义的?是不是要改成mysql?大大,别打我啊... :(
然后通过读取节点的方式读取出来
这个过程中 就从parentid 判断它的值有没有pcid与其相等从而判断是属于第几级分类
呵呵 ··
我是反照别人的方法这么做的
-----------------------
-> 工业照明灯
-> 白炽灯
-> 普通照明白炽灯
-> 微型灯泡
-> 聚光灯泡
-> 气体放电灯
-> 氙气灯
-> 霓虹灯管
-----------------------
不用下拉列表的形式,后面的数值都是从数据库中读出来的,我对这样列出来的程序不知道怎么写,还问兄弟多多指教.
$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);
测试没有显示...?Fatal error: Call to a member function on a non-object...
我只是把那个$optable改成了procatalog数据库名,那个$db怎么定义的?是不是要改成mysql?大大,别打我啊... :(