이 글의 예시에서는 php mysql에서 구현한 보조 연결 메뉴 효과를 설명합니다. 참고할 수 있도록 다음과 같이 모든 사람과 공유하십시오.
<!--php+mysql二级联动--> <html> <head> <meta http-equiv="Content-Type" c /> <title>生成学院专业级联下拉菜单测试 </title> </head> <body> <? // /*********************************************** ** 功 能: php+mysql+javascript实现学院专业二级级联下拉框 ** 数据库:数据库名( dms)、数据表( colleges、 majors) ** 表 colleges中字段: college_id( id编号)、 name(学院名) ** 表 majors中的字段: major_id( id编号)、 college_id(学院 ID)、 name(学院名) ** version 1.0 ** 作 者: wu yaowen ***********************************************/ //****************** 连接选择数据库 *************** $link = mysql_connect("localhost", "root", "123456") or die("Could not connect : " . mysql_error()); mysql_select_db("dms") or die("Could not select database"); //******************提取学院信息 ****************** $queryCol = "select * from colleges order by college_id "; mysql_query("SET NAMES 'gb2312'"); $result1 = mysql_query($queryCol) or die("Query failed : " . mysql_error()); $colleges = array(); while( $row1 = mysql_fetch_array($result1) ) { $colleges[] = $row1; } //print_r ($forum_data); mysql_free_result($result1); //**************获取专业信息 ************** $queryMaj = "select * from majors order by college_id desc"; mysql_query("SET NAMES 'gb2312'"); if( !($result2 = mysql_query($queryMaj)) ) { die('Could not query t_city list'); } $majors = array(); while( $row2 = mysql_fetch_array($result2) ) { $majors[] = $row2; } mysql_free_result($result2); ?> <!--************ JavaScript处理 college-onChange *************--> <script language = "JavaScript"> var majorCount; // 存储专业记录条数 // form_majors[] 储存专业 major数据,如 {(1,1,电子商务 ),(4,1,计算机科学 ),(3,2,古典文学 )} form_majors = new Array(); <?php $num2 = count($majors); // $num2 获取专业表中记录的个数 ?> majorCount = <?php echo $num2;?>; <? for($j=0;$j<$num2;$j++) // 从 0开始取出上面 majors[]中存储的专业数据填充数组 { ?> form_majors[<?echo $j;?>] = new Array("<?echo $majors[$j]['major_id'];?>","<?echo $majors[$j]['college_id'];?>","<?echo $majors[$j]['name'];?>"); <?php } ?> function changeCollege(college_id) { document.stu_add_form.major.length = 0; var id=id; var j; document.stu_add_form.major.options[0] = new Option('==选择专业 ==',''); // label的 value为空 ' ' for (j=0;j < majorCount; j++) // 从 0开始判断 { if (form_majors[j][1] == college_id) // if college_id等于选择的学院的 id { document.stu_add_form.major.options[document.stu_add_form.major.length] = new Option(form_majors[j][2], form_majors[j][0]); } } } </script> <!--********************页面表单 *************************--> <form name="stu_add_form" method="post"> 选择: <select name="college" size="1"> <option selected>==请选择学院 ==</option> <?php $num = count($colleges); for($i=0;$i<$num;$i++) { ?> <option value="<?echo $colleges[$i]['college_id'];?>"><?echo $colleges[$i]['name'];?></option> <? } ?> </select> <select name="major"> <option selected value="">==选择专业 ==</option> </select> </form> </body> </html>
sql 문:
-- -- 表的结构 `colleges` -- CREATE TABLE IF NOT EXISTS `colleges` ( `college_id` int(8) NOT NULL auto_increment COMMENT '学院编号自动增加', `name` varchar(40) NOT NULL COMMENT '学院名称', PRIMARY KEY (`college_id`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=7 ; -- -- 导出表中的数据 `colleges` -- INSERT INTO `colleges` (`college_id`, `name`) VALUES (4, '化学与化工学院'), (1, '计算机与信息科学学院'), (6, '美术学院'), (2, '文学院'), (5, '音乐学院'), (3, '政治与公共管理学院'); -- -- 表的结构 `majors` -- CREATE TABLE IF NOT EXISTS `majors` ( `major_id` int(8) NOT NULL auto_increment COMMENT '专业号,自动增加', `name` varchar(40) NOT NULL COMMENT '专业名', `college_id` int(8) default NULL COMMENT '所在学院', `counsellor_id` int(10) default NULL COMMENT '辅导员', PRIMARY KEY (`major_id`), UNIQUE KEY `college_id` (`college_id`,`counsellor_id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312 AUTO_INCREMENT=8 ; -- -- 导出表中的数据 `majors` -- INSERT INTO `majors` (`major_id`, `name`, `college_id`, `counsellor_id`) VALUES (1, '电子商务', 1, 1), (2, '音乐视唱', 5, 1), (3, '古典文学', 2, 1), (4, '计算机科学', 1, NULL), (5, '自动化', 1, NULL), (6, '现代文学', 2, NULL), (7, '新闻写作', 2, NULL);
PHP 관련 콘텐츠에 대한 추가 정보 관심 있음 독자들은 이 사이트에서 특별한 주제를 확인할 수 있습니다: "PDO 기반 PHP 데이터베이스 운영 기술 요약", "완전한 PHP MongoDB 데이터베이스 운영 기술", "php 객체 지향 프로그래밍 입문 튜토리얼", "php 문자열 사용법 요약", " PHP mysql 데이터베이스 조작 입문 튜토리얼'과 'php 공통 데이터베이스 조작 기술 요약'
이 글이 PHP 프로그래밍에 종사하는 모든 분들께 도움이 되기를 바랍니다.
위에는 Mysql의 내용을 포함하여 php mysql로 구현한 보조 연동 메뉴 효과에 대한 자세한 설명이 소개되어 있으니 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되었으면 좋겠습니다.