• 全部
  • 问答

求PHP挂库3级下拉列表!

yujishuang 2011-03-18 09:16:40
求PHP挂库3级下拉列表!

QQ号:228944890 跪求大哥大姐了!

那位大哥帮我弄一下额!
数据库为一下3级: 大类联动 小类联动
产品大类:$sqlc="select * from pro_big_class"; ID
产品小类:$sqlc="select * from pro_small_class"; big_id ID
产品信息:$sqlc="select * from product_info"; big_id small_id


一下为我改的2级下拉列表代码:
<script language = "JavaScript">
<!--

var onecount1;
onecount1 = 0;
subcat1 = new Array();
<?
$count1=0;
$sqlc="select * from pro_small_class";
$resultc=$ob->SQL($sqlc);
while($rsc=mysql_fetch_array($resultc))
{
?>
subcat1[<?=$count1;?>] = new Array("<?=$rsc['class_id']?>","<?=$rsc['class_name'];?>");
<?
$count1++;
}
?>
onecount1=<?=$count1?>;
function getCity1(provinceId)
{
document.myform.small_class.length = 0;

var locationid=provinceId;
var i;
document.myform.small_class.options[0] = new Option('请选择','');
for (i=0;i<onecount1;i++)
{
if (subcat1[i][0] == locationid)
{
document.myform.small_class.options[document.myform.small_class.length] = new Option(subcat1[i][1], subcat1[i][1]);
}
}

}



var onecount2;
onecount2 = 0;
subcat2 = new Array();
<?
$count2=0;
$sqlp="select * from product_info";
$resultp=$ob->SQL($sqlp);
while($rsp=mysql_fetch_array($resultp))
{
?>
subcat2[<?=$count2;?>] = new Array("<?=$rsp['small_id']?>","<?=$rsp['name'];?>");
<?
$count2++;
}
?>
onecount2=<?=$count2?>;
function getCity2(provinceIds)
{
document.myform.pro_info.length = 0;

var locationids=provinceIds;
var is;
return document.myform.pro_info.options[document.myform.pro_info.length] = new Option(onecount2, onecount2);
document.myform.pro_info.options[0] = new Option('请选择','');
for (is=0;is<onecount2;is++)
{
if (subcat2[is][0] == locationids)
{
document.myform.pro_info.options[document.myform.pro_info.length] = new Option(subcat2[is][1], subcat2[is][1]);
}
}

}
//-->
</script>

HTML代码:
</select><select name="big_class" id="big_class" onChange="getCity1(document.myform.big_class.options[document.myform.big_class.selectedIndex].value);">
<option>请选择</option>
<?php
$sql="select * from pro_big_class";
$result=$ob->SQL($sql);
while($rs=mysql_fetch_array($result))
{
?>
<option value="<?=$rs["ID"]?>" <?php if($big_id==$rs["ID"])?>>
<?=$rs["class_name"]?>
</option>
<?php
}
?>
</select>
--
<select name="small_class" id="small_class" onChange="getCity2(document.myform.small_class.options[document.myform.small_class.selectedIndex].value);">
<option>请选择</option>
<?php
$sqls="select * from pro_small_class";
$results=$ob->SQL($sqls);
while($rss=mysql_fetch_array($results))
{
?>
<option value="<?=$rss["ID"]?>">
<?=$rss["class_name"]?>
</option>
<?php
}
?>
</select>
<select name="pro_info" id="pro_info">
<option>请选择</option></select>
...全文
69 1 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
w2y0xy0sf5z 2011-03-19
级联下拉菜单,当然用 AJAX, Jquery 好久没用啦,直接用 ExtJs
回复
w2y0xy0sf5z 2011-03-19
级联数据,为什么要建这么多表呢?一张够了啊

create table cacasecading{
id_level varchar(200),
name varchar(200)
}

insert into cacasecading (id_level,name) values ('01','浙江');
insert into cacasecading (id_level,name) values ('0101','浙江宁波');
insert into cacasecading (id_level,name) values ('010101','浙江宁波绍兴');
insert into cacasecading (id_level,name) values ('010102','浙江宁波北仑');
insert into cacasecading (id_level,name) values ('0102','浙江杭州');
insert into cacasecading (id_level,name) values ('0103','舟山');
insert into cacasecading (id_level,name) values ('02','上海');

用 id_level 这个字段值的长度来判断级别,
长度为2,为一级
长度为4,为二级
长度为6,为三级

访问上级或访问下级,就通过 id_level截断字符串来判断

我国的国标文件《GB 13745 行政区划编码》,就是按照这种规则来处理多级数据的
类似的,《学科分类编码》也是这样处理的
回复
a403543627 2011-03-19
最最简单,安全,快捷。jquery ajax
回复
daly2008 2011-03-18
这种网上有很多例子.自己改改,只需要修改一下其中的显示数据
回复
yuexiangyun 2011-03-18
http://hi.baidu.com/fanglor/blog/item/1ff8fbc22fb3db3ee4dd3be2.html/cmtid/887f2523fa08714aac34dee9
参考这个例子
回复
lijpwsw 2011-03-18
既然二级都能联动 三级问什么就不能联动的 道理是一样的
回复
相关推荐
发帖
PHP
创建于2008-08-27

1.9w+

社区成员

“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
申请成为版主
帖子事件
创建了帖子
2011-03-18 09:16
社区公告
暂无公告