重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
?
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:做网站、网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的东区网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
$link=mysql_connect("localhost","root","123") or die("数据库服务器连接错误".mysql_error());
mysql_select_db("aaa",$link) or die("数据库访问错误".mysql_error());
mysql_query("set character set gb2312");
mysql_query("set names gb2312");
?
html
head
title下拉框连动/title
/head
body
script language="JavaScript"
!--
var subcat = new Array();
?
$i=0;
$sql="select * from aaa where flid=2";
$query=mysql_query($sql,$link);
while($arr=mysql_fetch_array($query))
{
echo "subcat[".$i++."] = new Array('".$arr["pid"]."','".$arr["title"]."','".$arr["id"]."');\n";
}
?
var subcat2 = new Array();
?
$i=0;
$sql="select * from aaa where flid=3";
$query=mysql_query($sql,$link);
while($arr=mysql_fetch_array($query))
{
echo "subcat2[".$i++."] = new Array('".$arr["pid"]."','".$arr["title"]."','".$arr["id"]."');\n";
}
?
function changeselect1(locationid)
{
document.form1.s2.length = 0;
document.form1.s2.options[0] = new Option('==请选择==','');
for (i=0; isubcat.length; i++)
{
if (subcat[i][0] == locationid)
{document.form1.s2.options[document.form1.s2.length] = new Option(subcat[i][1], subcat[i][2]);}
}
}
function changeselect2(locationid)
{
document.form1.s3.length = 0;
document.form1.s3.options[0] = new Option('==请选择==','');
for (i=0; isubcat2.length; i++)
{
if (subcat2[i][0] == locationid)
{document.form1.s3.options[document.form1.s3.length] = new Option(subcat2[i][1], subcat2[i][2]);}
}
}
//--
/script
三级联动:BR
form name="form1"
select name="s1" onChange="changeselect1(this.value)"
option==请选择==/option
?
$sql="select * from aaa where flid=1";
$query=mysql_query($sql,$link);
while($arr=mysql_fetch_array($query))
{
echo "option value=".$arr["id"]."".$arr["title"]."/option\n";
}
?
/select
select name="s2" onChange="changeselect2(this.value)"
option==请选择==/option
/select
select name="s3" onChange="alert('选选择'+this.value)"
option==请选择==/option
/select
/form
BR
/body
/html
数据库建立aaa 表名aaa
表结构:
id 表ID(唯一)
title 各类标题
flid 类别的ID (大类为1 中类为2 小类为3)
pid 上类的ID(大类就跟大类,提交中类的时候这地方写大类的ID,提交小类的时候写中类的ID)
给你一个递归函数,把查询的分类往里面放一下
/**
* 把返回的数据集转换成Tree
* @access public
* @param array $list 要转换的数据集
* @param string $pid parent标记字段
* @param string $level level标记字段
* @return array
*/
function list_to_tree($list, $pk = 'id', $pid = 'pid', $child = '_child', $root = 0)
{
// 创建Tree
$tree = array();
if (is_array($list)) {
// 创建基于主键的数组引用
$refer = array();
foreach ($list as $key = $data) {
$refer[$data[$pk]] = $list[$key];
}
foreach ($list as $key = $data) {
// 判断是否存在parent
$parentId = $data[$pid];
if ($root == $parentId) {
$tree[] = $list[$key];
} else {
if (isset($refer[$parentId])) {
$parent = $refer[$parentId];
$parent[$child][] = $list[$key];
}
}
}
}
return $tree;
}
然后在模板中,做一个三级嵌套循环就可以了
表一:
id name
表二
id parentId Name
表三
id parentId Name
其他字段自行加 主要是id 和parentId关联
按照你这种逻辑。。。只能再加一个foreach了。
在select()后增加一行
foreach($pro[$n]['id'] as $key = $v){
查询语句。。。。
}
没谁了…