无限级分类函数,好像有点问题,大虾们帮偶看看,,,
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都不会输出,我估记可能是递归调用没有成功,哪位大哥能帮帮小弟,,