究了一下连动下拉菜单,共享一下,希望有人能继续完善。

发表于:2007-07-01来源:作者:点击数: 标签:
PHP 代码:-------------------------------------------------------------------------------- html head titleList/title meta http-equiv=Content-Type content=text/html; charset=?????? ? if( !( $link = mysql _connect() ) ){ fatal(Could not conne
PHP代码:--------------------------------------------------------------------------------

<html>
<head>
<title>List</title>
<meta http-equiv="Content-Type" content="text/html; charset=??????">
<?
if( !( $link = mysql_connect() ) ){
fatal("Could not connect to local MySQL server.");
}

if( !mysql_select_db( "loaction", $link ) )
{
mysql_close( $link );
fatal("Could not select database <b>ParserSample</b>.");
}

$sql="select * from district order by locationid asc";
$query=mysql_query($sql,$link);
?>
<script language = "JavaScript">

var onecount;
onecount = 0;
subcat = new Array();
<?
$count=0;
while($rs=mysql_fetch_array($query)){
?>
subcat[<?=$count;?>] = new Array("<?=$rs[@#districtname@#];?>","<?=$rs[@#locationid@#];?>","<?=$rs[@#districtid@#];?>","<?=$rs[@#areacode@#]?>","<?=$rs[@#zipcode@#]?>");
<?
$count++;
}
?>
onecount=<?=$count?>;

function GetCode(CityId){
var CityId=CityId;
var i;
for(i=0;i < onecount; i++){
if(subcat[i][2] == CityId){
document.FormData.AreaCode.value = subcat[i][3];
document.FormData.ZipCode.value = subcat[i][4];
}
}
}

function ClearCode(){
document.FormData.AreaCode.value = @#@#;
document.FormData.ZipCode.value = @#@#;
}

function getCity(locationid)
{
document.FormData.City.length = 0;

var locationid=locationid;

var i;
document.FormData.City.options[0] = new Option(@#==所选城市的地区==@#,@#@#);
for (i=0;i < onecount; i++)
{
if (subcat[i][1] == locationid)
{
document.FormData.City.options[document.FormData.City.length] = new Option(subcat[i][0], subcat[i][2]);
}
}

}
</script>
</head>
<body>
<form name="FormData" method="post" action="">
分类:<select name="Province" onChange="getCity(document.FormData.Province.options[document.FormData.Province.selectedIndex].value);ClearCode();" size="1">
<option selected>请选择你所在的省份</option>
<?
$sql1= "select * from loaction";
$query=mysql_query($sql1,$link);
$a=mysql_num_rows($query);
while($rs1=mysql_fetch_array($query)){
?>
<option value="<?=$rs1[@#loactionid@#];?>"><?=$rs1[@#loactionname@#];?></option>
<?}?>
</select>
<select name="City" onChange="GetCode(document.FormData.City.options[document.FormData.City.selectedIndex].value);">
<option selected value="">==所有地区==</option>
</select>
<INPUT TYPE="text" NAME="AreaCode"><INPUT TYPE="text" NAME="ZipCode">
<INPUT TYPE="submit">
</form>
</body>
</html>
<?
if(!empty($_POST[@#City@#])){
echo $_POST[@#City@#];
}
?>


表结构:

#
# 表的结构 `district`
#
# 创建时间: 2003 年 08 月 02 日 11:21
# 最后更新时间: 2003 年 08 月 02 日 11:21
#

CREATE TABLE `district` (
`locationid` int(10) NOT NULL default @#0@#,
`districtid` int(10) NOT NULL auto_increment,
`areacode` varchar(4) NOT NULL default @#@#,
`zipcode` varchar(6) NOT NULL default @#@#,
`districtname` varchar(50) NOT NULL default @#@#,
KEY `districtid` (`districtid`)
) TYPE=MyISAM AUTO_INCREMENT=7 ;

#
# 表`district`中数据locationid——省id;districtid——市id;districtname——市名称; areacode ——市区号;zipcode——市邮政编码
#

# --------------------------------------------------------

#
# 表的结构 `loaction`
#
# 创建时间: 2003 年 08 月 02 日 09:28
# 最后更新时间: 2003 年 08 月 02 日 10:36
#

CREATE TABLE `loaction` (
`loactionid` int(10) NOT NULL auto_increment,
`loactionname` varchar(50) NOT NULL default @#@#,
KEY `loactionid` (`loactionid`)
) TYPE=MyISAM AUTO_INCREMENT=4 ;

#
# 表`loaction`中数据,loactionid——省id;loactionname——省名称
#

#表

原文转自:http://www.ltesting.net