聯動下拉式清單 php

來源:互聯網
上載者:User

 找到一個能用的  分享給你吧
剛已經在本機做過認真測試,絕對無問題
(表結構:

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.5

SET 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);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.