无限级分类函数,好像有点问题,大虾们帮偶看看,,,

eplancn 2005-05-27 06:15:28
function show_class_list($parentid)
{
$l=0;
global $db;
$class_str="";
$class_str.="<option value=\"\" selected >无(做为一级分类)</option>\n";
$sql="select * from class where parentid=$parentid order by classid desc";
$resuld=$db->select($sql);
$rows=$db->rows;
for($i=0;$i<count($rows);$i++)
{
$k=0;
$classid=$rows[$i][classid];
$classname=$rows[$i][classname];
$parentid=$rows[$i][parentid];
$classurl=$rows[$i][classurl];

$class_str.="<option value=\"$classid\">$classname</option>\n";
$k++;
$class_str.=chiID($classid,$k,$l++);
}
return $class_str;
}

function chiID($classid,$k,$l)
{
global $db;
$nbsp="";
$sql="select * from class where parentid=$classid order by classid desc";
$db->str[$l]=mysql_query($sql);
for($j=0;$j<$k;$j++)
{
$nbsp.=" ";
}
while($rows=mysql_fetch_array($db->str[$l]))
{
$classid=$rows[classid];
$classname=$rows[classname];
$parentid=$rows[parentid];
$classurl=$rows[classurl];
$class_str.="<option value=\"$classid\">$nbsp|--$classname</option>";
$k++;
$l++;
$class_str.=chiID($classid,$k,$l);
}
return $class_str;
}
$db是一个数据库处理对象,主要是用来对数据库进行操作的,,
数据库里的结构是这样的,
classid parentid classname classurl classimg
1 0 一级分类1
2 0 一级分类2
3 1 二级分类1
4 1 二级分类2
5 3 三级分类1
我是采用递归法来进行分类的输出的,现在出现了这样一种情况,就是,
我用下拉列表框输出的时后他只会输出一级栏目和二级栏目中的第一个,也就是他只会输出二级分类1,二级分类2和三级分类1都不会输出,我估记可能是递归调用没有成功,哪位大哥能帮帮小弟,,
...全文
123 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
skystar008 2005-07-15
  • 打赏
  • 举报
回复
关键在于一个深度的算法。
eplancn 2005-05-29
  • 打赏
  • 举报
回复
那要怎么改啊,,$I肯定是要改变的啊,不在WHILE里那放到哪啊,
cokeyang 2005-05-28
  • 打赏
  • 举报
回复
第二个函数有问题!
不要把$l当参数
而是在函数中
global $l;
uuq 2005-05-28
  • 打赏
  • 举报
回复
你把sql语句放到了函数体里了。效率高吗。
xuzuning 2005-05-28
  • 打赏
  • 举报
回复
$l++;
$class_str.=chiID($classid,$k,$l);
===>
//$l++;
$class_str.=chiID($classid,$k,$l+1);


不能在循环里改变$l,因为你有
while($rows=mysql_fetch_array($db->str[$l]))
当$l改变时就离开了当前层次
eplancn 2005-05-28
  • 打赏
  • 举报
回复
为什么啊,采用全局变量和参数传递结果不是差不多的吗/??
eplancn 2005-05-27
  • 打赏
  • 举报
回复
哪位大哥帮帮小弟啊,在线等啊,,,

21,891

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧