我现在要做的这个网站产品展示菜单是这样的产品展示 (第一层)
---------
自动门系列
自动门配件
门禁系列
隔断系列
五金系列自动门系列 (第二层)
---------
自动平滑门
自动弧型门
自动套叠门
自动旋转门
自动平开门
医用密闭门
特种自动门
地铁屏蔽门
直角自动门自动门配件 (第二层)
----------
平滑门马达
旋转门马达
马达编码器
齿轮减速箱
自动门吊件
自动门滑轮
门用传感器
电脑控制板
电子元器件
同步皮带轮
同步齿型带平滑门马达 (第三层)
----------
交流数字伺服马达
直流有刷伺服马达
直流无刷伺服马达
空心杯转子直流无刷伺服马达
旋转门马达 (第三层)
---------
交流数字伺服马达
直流有刷伺服马达
直流无刷伺服马达
空心杯转子直流无刷伺服马达
我的问题是
想做动态添加类别和跟据类别添加产品,动态显示产品菜单和跟据菜单链接来显示该类别的产品我的想法是只设两个表class和product
考虑到要只用一个products.aspx页来搞定全部的功能,我的数据库设计方面没有头绪望有经验的同志给点意见
---------
自动门系列
自动门配件
门禁系列
隔断系列
五金系列自动门系列 (第二层)
---------
自动平滑门
自动弧型门
自动套叠门
自动旋转门
自动平开门
医用密闭门
特种自动门
地铁屏蔽门
直角自动门自动门配件 (第二层)
----------
平滑门马达
旋转门马达
马达编码器
齿轮减速箱
自动门吊件
自动门滑轮
门用传感器
电脑控制板
电子元器件
同步皮带轮
同步齿型带平滑门马达 (第三层)
----------
交流数字伺服马达
直流有刷伺服马达
直流无刷伺服马达
空心杯转子直流无刷伺服马达
旋转门马达 (第三层)
---------
交流数字伺服马达
直流有刷伺服马达
直流无刷伺服马达
空心杯转子直流无刷伺服马达
我的问题是
想做动态添加类别和跟据类别添加产品,动态显示产品菜单和跟据菜单链接来显示该类别的产品我的想法是只设两个表class和product
考虑到要只用一个products.aspx页来搞定全部的功能,我的数据库设计方面没有头绪望有经验的同志给点意见
解决方案 »
- 多个表查询就要new多个SqlCommand comm??
- 在做一个稿件管理系统,有多个角色,类该怎么划分
- 【马上结帖】asp如何直接读取DOC文档进行显示
- 执行多条sql问题语句
- 新浪网的论坛真差,发个帖子,再也找不到,什么鸡巴玩意儿
- ★ 常识题,如何在外部获得GridView当前行的DataKey?
- ****用jmail发邮件,如果附件是word或者excel类型的文件,接收到打开都是乱玛,请问如何解决?
- 网页上面如何播放avi?
- 为什么我的vs.net装不上,必须组件更新`~是什么组件`~?
- 请教出现这样问题如何解决?
- c#方法问题,请高手帮我解答一下,麻烦了。
- DataGird中的DropDownList列无法响应用户事件??
在线等 呵呵~
parentid 如果是第一层设为0,如果是第二层设为第一层所在的id,如果是第三层设为第二层所在的id
content 所显示的内容
这是个无限级的树数据库
读取的时候
第一层 parentid=0
第二层 parentid=第一层的id
第三层 parentid=第二层的id
................
但是要和product表中的外键classid关联我的麻烦在于:点击第二层菜单(如自动门配件)时,页面也要显示点东西呀,而product表中的classid有可能是第四层的(平滑门马达-交流数字伺服马达),这样一来在点击自动门配件时则会显示“无记录”,我想要的是怎样知道产品类别的上级就是第二层的“自动门配件”,而且连接查询也有一个麻烦的就是我不知道这个产品类别目前是几级所以数据库就不会设计了,呵呵~
"select * from product where classid="+Request["id"];
如果不是则
select maxcls as max(级数) from class union select mincls as min(级数) from class where id="+Request["id"]; //获得当前级和最高级(分类越往下级越高)
然后
string strsql="select * from class where classid in (";
for(int i=1;i<=maxcls-mincls;i++)
{
if(i==maxcls)
strsql+= "select id from class where parentid=" + Request["id"];
else
strsql+= "select id from class where parentid in (";
}strsql+= new string(')',maxcls-mincls);最后生成的SQL查询语句可能会这样:
string strsql="select * from class where classid in (select id from class where parentid in (select id from class where parentid=11)); //11为Request["id"]所获值我只知道这样一个写法,不知道有没有更好的,还有这样做效率会不会太差了
string strsql="select * from product where classid in (select id from class where parentid in (select id from class where parentid=11))"; //11为Request["id"]