已測(表結構:id 表ID(唯一)title 各類標題flid 類別的ID (大類為1 中類為2 小類為3)pid 上類的ID(大類就跟大類,提交中類的時候這地方寫大類的ID,提交小類的時候寫中類的ID) )
<?php $link=mysql_connect("localhost","root","root") or die("資料庫伺服器串連錯誤".mysql_error()); mysql_select_db("sanji",$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 sanji 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 sanji 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; i<subcat.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; i<subcat2.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 sanji 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>
資料庫叫"sanji"-- phpMyAdmin SQL Dump-- version 2.11.4-- http://www.phpmyadmin.net---- 主機: localhost-- 產生日期: 2009 年 11 月 03 日 15:12-- 伺服器版本: 5.0.51-- PHP 版本: 5.2.5SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";---- 資料庫: `sanji`---- ------------------------------------------------------------ 表的結構 `sanji`--CREATE TABLE IF NOT EXISTS `sanji` ( `id` int(10) NOT NULL auto_increment, `title` varchar(30) collate utf8_unicode_ci NOT NULL, `flid` int(10) NOT NULL, `pid` int(10) NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;---- 匯出表中的資料 `sanji`--INSERT INTO `sanji` (`id`, `title`, `flid`, `pid`) VALUES(1, '我是1', 1, 1),(2, '我是2,歸1管', 2, 1),(3, '我是3,歸2管', 3, 2),(4, '我是4,也歸2管', 3, 2);