ajax php实现三级联动的方法:首先创建一个test数据库并创建三张表;然后初始化所有的省份;接着把当前的省份id通过ajax发出请求传递到服务端的程序中;最后查询数据库并进行必要的处理显示即可。
清河网站制作公司哪家好,找创新互联建站!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联建站于2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联建站。
推荐:《PHP视频教程》
案例涉及到数据库,数据库设计如下:
首先创建一个test数据库,内容如下:
CREATE TABLE IF NOT EXISTS `province` ( `province_id` int(2) NOT NULL AUTO_INCREMENT, `province_name` varchar(20) NOT NULL, PRIMARY KEY (`province_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ; INSERT INTO `province` (`province_id`, `province_name`) VALUES (1, '安徽'), (2, '浙江'); CREATE TABLE IF NOT EXISTS `city` ( `city_id` int(4) NOT NULL AUTO_INCREMENT, `city_name` varchar(20) NOT NULL, `province_id` int(4) NOT NULL, PRIMARY KEY (`city_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; INSERT INTO `city` (`city_id`, `city_name`, `province_id`) VALUES (1, '合肥', 1), (2, '安庆', 1), (3, '南京', 2), (4, '徐州', 2); CREATE TABLE IF NOT EXISTS `county` ( `county_id` int(4) NOT NULL AUTO_INCREMENT, `county_name` varchar(20) NOT NULL, `city_id` int(4) NOT NULL, PRIMARY KEY (`county_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ; INSERT INTO `county` (`county_id`, `county_name`, `city_id`) VALUES (1, '怀宁', 2), (2, '望江', 2), (3, '肥东', 1), (4, '肥西', 1);
对数据库说明:我创建了三张表,分别是省(province),市(city),县(county),插入了几条测试数据,当然你也可以设计一张表,效率当然没一张表好,所以不建议使用,看你个人习惯。
实现过程并不是很难,思路如下:
1) 初始化所有的省份,这个可以直接从数据库中查询出来省份
2)当用户选择省份的时候触发事件,把当前的省份的id通过ajax发出请求传递到服务端的程序中
3)服务端根据客户端的请求,查询数据库,并按照一定的格式返回给客户端
4)客户端获取服务端的数据,进行必要的处理显示出来
创建select.php (代码简陋,只是实现功能而已,说明原理即可!)
1 2 3 4115 116三级联动(作者:mckee - www.phpddt.com) 5 6 88 89 90
创建selectPro.php页面:
117 "; 132 while($res = mysql_fetch_assoc($query)){ 133 $info .= ""; 134 $info .= " "; 137 } 138 $info .= ""; 139 echo $info; 140 } 141 142 if(!empty($_POST['city_id'])){ 143 144 $city_id = $_POST['city_id']; 145 $sql = "select * from county where city_id = {$city_id}"; 146 $query = mysql_query($sql); 147 $info = "".$res['city_id']." "; 135 $info .= "".$res['city_name']." "; 136 $info .= ""; 148 while($res = mysql_fetch_assoc($query)){ 149 $info .= " "; 155 echo $info; 156 } 157 ?>"; 150 $info .= " "; 153 } 154 $info .= "".$res['county_id']." "; 151 $info .= "".$res['county_name']." "; 152 $info .= "
界面如下: