ASP 无限级分类
我要做一个ASP分类程序,无限级(程序中设定分类是否在前台显示)每个分类下显示自己下面的5分类名子,以及每级分类的数量还有是不是显示的信息+一级栏目+--二级栏目1+--...
我要做一个ASP分类程序,无限级(程序中设定分类是否在前台显示)
每个分类下显示自己 下面的 5分类名子,以及每级分类的数量 还有是不是显示的信息
+一级栏目
+--二级栏目1
+--二级栏目2
+----三级栏目1
+----三级栏目2
+------四级栏目1
+--------五级栏目1
+--------五级栏目2
+------四级栏目2
+一级栏目2
+--二级栏目1-2
+一级栏目3
+--二级栏目1-3
+--二级栏目2-3
+----三级栏目1-2-3
怎么实现呢? 展开
每个分类下显示自己 下面的 5分类名子,以及每级分类的数量 还有是不是显示的信息
+一级栏目
+--二级栏目1
+--二级栏目2
+----三级栏目1
+----三级栏目2
+------四级栏目1
+--------五级栏目1
+--------五级栏目2
+------四级栏目2
+一级栏目2
+--二级栏目1-2
+一级栏目3
+--二级栏目1-3
+--二级栏目2-3
+----三级栏目1-2-3
怎么实现呢? 展开
4个回答
展开全部
我有一个PHP的,你自己翻译成ASP吧!
/*
'sel_Name 下拉菜单名称
'sel_selected 默认选中值
'iTableName 数据表名
'ifloor 初始层数 - 1
'iTID1 初始父级ID - 0
'sel_valField value值对应的字段名
'sel_TextField text 值对就的字段名
*/
function createSelect($sel_Name, $sel_selected , $iTableName , $ifloor=1, $iTID1=0, $sel_valField = "id",$sel_TextField="title") {
if ($ifloor == 1) {
$selectStr = $selectStr."<select name=\"".$sel_Name."\" id=\"".$sel_Name."\">\n";
}
$ifloorStr = "";
for ($i = 1; $i < $ifloor; $i++) {
$ifloorStr = $ifloorStr." ";
}
$sql = "select * from `$iTableName` where TID1 = ".$iTID1." order by orderid";
$rs = mysql_query($sql);
while ($ary = mysql_fetch_array($rs)) {
$iChecked = "";
if($sel_selected == $ary[$sel_valField]) $iChecked = "selected";
$rs2 = mysql_query("select count(*) from `$iTableName` where TID1 = ".$ary["id"]);
$Vcount = @mysql_result($rs2, 0);
if ($Vcount != 0) {
$selectStr = $selectStr."<optgroup label=\"".$ifloorStr."├".$ary[$sel_TextField]."--(".$ifloor."级)\"></optgroup>\n";
$selectStr = $selectStr.createSelect($sel_Name, $sel_selected, $iTableName, $ifloor + 1, $ary["id"],$sel_valField,$sel_TextField);
}else{
$selectStr = $selectStr."<option value='".$ary[$sel_valField]."' ".$iChecked.">".$ifloorStr."├".$ary[$sel_TextField]."--(".$ifloor."级)</option>\n";
}
}@mysql_free_result($rs);
if ($ifloor == 1) {
$selectStr = $selectStr."</select>\n";
}
return $selectStr;
}
/*
'sel_Name 下拉菜单名称
'sel_selected 默认选中值
'iTableName 数据表名
'ifloor 初始层数 - 1
'iTID1 初始父级ID - 0
'sel_valField value值对应的字段名
'sel_TextField text 值对就的字段名
*/
function createSelect($sel_Name, $sel_selected , $iTableName , $ifloor=1, $iTID1=0, $sel_valField = "id",$sel_TextField="title") {
if ($ifloor == 1) {
$selectStr = $selectStr."<select name=\"".$sel_Name."\" id=\"".$sel_Name."\">\n";
}
$ifloorStr = "";
for ($i = 1; $i < $ifloor; $i++) {
$ifloorStr = $ifloorStr." ";
}
$sql = "select * from `$iTableName` where TID1 = ".$iTID1." order by orderid";
$rs = mysql_query($sql);
while ($ary = mysql_fetch_array($rs)) {
$iChecked = "";
if($sel_selected == $ary[$sel_valField]) $iChecked = "selected";
$rs2 = mysql_query("select count(*) from `$iTableName` where TID1 = ".$ary["id"]);
$Vcount = @mysql_result($rs2, 0);
if ($Vcount != 0) {
$selectStr = $selectStr."<optgroup label=\"".$ifloorStr."├".$ary[$sel_TextField]."--(".$ifloor."级)\"></optgroup>\n";
$selectStr = $selectStr.createSelect($sel_Name, $sel_selected, $iTableName, $ifloor + 1, $ary["id"],$sel_valField,$sel_TextField);
}else{
$selectStr = $selectStr."<option value='".$ary[$sel_valField]."' ".$iChecked.">".$ifloorStr."├".$ary[$sel_TextField]."--(".$ifloor."级)</option>\n";
}
}@mysql_free_result($rs);
if ($ifloor == 1) {
$selectStr = $selectStr."</select>\n";
}
return $selectStr;
}
AiPPT
2024-09-19 广告
2024-09-19 广告
随着AI技术的飞速发展,如今市面上涌现了许多实用易操作的AI生成工具1、简介:AiPPT: 这款AI工具智能理解用户输入的主题,提供“AI智能生成”和“导入本地大纲”的选项,生成的PPT内容丰富多样,可自由编辑和添加元素,图表类型包括柱状图...
点击进入详情页
本回答由AiPPT提供
展开全部
你可以做选项,如果选择以及栏目的话 需要添加几次 二级栏目。
把这个次数,传值给for 里面 这样 在里面 循环添加就行了
把这个次数,传值给for 里面 这样 在里面 循环添加就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
自表调用,就可以达到
数据库
Forum表
id 栏目ID
forumName 栏目名称
forumParent 上级栏目
这个是最简单的自表调用无限级分类表
然后前台调用用递归的方法
如果是ASP的话,这么写
sub ListForums(parentID,str)
sql="select * from forum where forumParent="& id
dim rs,i
rs=conn.execute(sql)
if(rs.eof and rs.bof) then
else
i=1
while(not rs.eof)
%>+<%=str&rs("forum_name")&i%><br /><%
rs.movenext
i=i+1
call ListForum(rs(0),"-")
wend
end if
rs.close
set rs=nothing
end sub
数据库
Forum表
id 栏目ID
forumName 栏目名称
forumParent 上级栏目
这个是最简单的自表调用无限级分类表
然后前台调用用递归的方法
如果是ASP的话,这么写
sub ListForums(parentID,str)
sql="select * from forum where forumParent="& id
dim rs,i
rs=conn.execute(sql)
if(rs.eof and rs.bof) then
else
i=1
while(not rs.eof)
%>+<%=str&rs("forum_name")&i%><br /><%
rs.movenext
i=i+1
call ListForum(rs(0),"-")
wend
end if
rs.close
set rs=nothing
end sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我的百度空间里有源码,请参考(asp+access)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询