mysql php 3级联动_php mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
很简单的
1.先把
加到 header.html 页
2.把 regionss() 函数 加到 /include/tag.php 里
3.在你网站的根目录建立个 regions.php 文件
4.在你的模板的适当的地方加入 {$regionss(中华人民共和国)} 即可
注意: 表单的名字可根据你的需要可以自己修改...
测试页代码:
php ajax动态生成下拉菜单{$regionss(中华人民共和国)}
regionss 函数代码:
//省市地3级联动下拉菜单函数 regionss 省.市.地
function regionss($country="中华人民共和国")
{
global $db; $i = 1;
$text="省/市/自治区\n";
$result = $db->query("SELECT province FROM ".TABLE_PROVINCE." WHERE country='$country' ORDER BY provinceid");
while($r = $db->fetch_array($result))
{
$text .= "".$r['province']." ";
$i ;
}
$text.="";
$text.=" 市/县/区\n";
$text.="县级市/县\n";
return $text;
}
regions.js 的代码:
//var ab = new Array();
var xmlHttp;
var xmlHttpa;
function createXMLHttpRequest() {
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}
}
function createXMLHttpRequesta() {
if (window.ActiveXObject) {
xmlHttpa = new ActiveXObject("Microsoft.XMLHTTP");
}
else if (window.XMLHttpRequest) {
xmlHttpa = new XMLHttpRequest();
}
}
function startRequest() {
createXMLHttpRequest();
createXMLHttpRequesta();
xmlHttp.onreadystatechange = handleStateChange;
xmlHttpa.onreadystatechange = handleStateChangearea;
document.getElementById('select2').options.length = 0;
document.getElementById('select3').options.length = 0;
var url = document.form1.select1.value;
var qurl = "/regions.php?province=" url "&time=" new Date().getTime();
xmlHttp.open("GET", qurl, true);
xmlHttp.send(null);
//setTimeout("startRequest()",2000);
}
function handleStateChange() {
if(xmlHttp.readyState == 4) {
if(xmlHttp.status == 200) {
var obj = document.getElementById('select2'); //将服务器返回的字符串写到页面中ID为select2的区域
obja = document.getElementById('select3'); //将服务器返回的字符串写到页面中ID为select3的区域
eval(xmlHttp.responseText);
}
}
}
function handleStateChangearea() {
eval(xmlHttpa.responseText);
}
//var ab = new Array();
function startRequesta() {
createXMLHttpRequesta();
xmlHttpa.onreadystatechange = handleStateChangea;
document.getElementById('select3').options.length = 0;
var url = document.form1.select2.value;
var qurl = "/regions.php?city=" url "&time=" new Date().getTime();
xmlHttpa.open("GET", qurl, true);
xmlHttpa.send(null);
//setTimeout("startRequest()",2000);
}
function handleStateChangea() {
if(xmlHttpa.readyState == 4) {
if(xmlHttpa.status == 200) {
var obja = document.getElementById('select3');
eval(xmlHttpa.responseText);
//将服务器返回的字符串写到页面中ID为select3的区域
}
}
}
数据岛 regions.php 页面代码
require "common.php";
$city = $city ? $city : "";
$area = $area ? $area : "";
if($province && $city==''){
global $db; $i = 1;
$result = $db->query("SELECT DISTINCT city FROM ".TABLE_CITY." WHERE province='$province' ORDER BY cityid");
while($r = $db->fetch_array($result))
{
$r[city]=iconv('gb2312','UTF-8',$r[city]);
echo "obj.options[obj.options.length] = new Option('".$r[city]."','".$r[city]."');\n";
$i ;
}
$resultarea = $db->query("SELECT DISTINCT city FROM ".TABLE_CITY." WHERE province='$province' ORDER BY cityid");
$r = $db->fetch_array($resultarea);
$city = $r[city];
$resulta = $db->query("SELECT DISTINCT area FROM ".TABLE_CITY." WHERE city='$city' ORDER BY cityid");
while($ra = $db->fetch_array($resulta))
{
$ra[area]=iconv('gb2312','UTF-8',$ra[area]);
echo "obja.options[obja.options.length] = new Option('".$ra[area]."','".$ra[area]."');\n";
$i ;
}
}
if($city && $province==''){
global $db; $i = 1;
$result = $db->query("SELECT DISTINCT area FROM ".TABLE_CITY." WHERE city='$city' ORDER BY cityid");
while($r = $db->fetch_array($result))
{
$r[area]=iconv('gb2312','UTF-8',$r[area]);
echo "obja.options[obja.options.length] = new Option('".$r[area]."','".$r[area]."');\n";
$i ;
}
}
?>
地址信息数据库:
采用的是phpcms3.0里自带的数据库,我没有进行任何改动
本程序可以在phpcms3.0里直接使用,若在其他地方使用请自己修改
mysql php 3级联动_php mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码相关推荐
- 基于JAVA深州市特色蜜桃产业电子商务系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
基于JAVA深州市特色蜜桃产业电子商务系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署 基于JAVA深州市特色蜜桃产业电子商务系统计算机毕业设计源码+系统+mysql数据库+lw文档+部 ...
- springboot+mysql+采用协同过滤算法的视频推荐系统的设计与实现 毕业设计-附源码261620
摘 要 现阶段,社会的发展和科技的进步,以及大数据时代下纷繁数据信息的融合,使得人们在生产及生活过程中,都将会接收到各种类型的数据信息,而通过计算机技术与网络技术,则能够将众多人们所不了解或不常用的 ...
- mysql第五章 在线测试_PHP+MySQL来实现在线测试quiz功能
在上一篇文章中,我们介绍了jQuery前端+PHP在线测试题效果.这篇文章将结合实例给大家介绍如何使用jQuery+PHP+MySQL来实现在线测试题,包括动态读取题目,答题完毕后台评分,并返回答题结 ...
- mysql 分区 mycat 分片_Mysql系列六:(Mycat分片路由原理、Mycat常用分片规则及对应源码介绍)...
一.Mycat分片路由原理 我们先来看下面的一个SQL在Mycat里面是如何执行的: select * from travelrecord where id in(5000001, 10000001) ...
- springboot采用协同过滤算法的家政服务平台的设计与实现毕业设计源码260839
Springboot家政服务平台 摘 要 协同过滤算法是一种较为著名和常用的推荐算法,它基于对用户历史行为数据的挖掘发现用户的喜好偏向,并预测用户可能喜好的产品进行推荐.基于协同过滤算法的家政服务平 ...
- Springboot+采用协同过滤算法的视频推荐系统的设计与实现 毕业设计-附源码261620
摘 要 现阶段,社会的发展和科技的进步,以及大数据时代下纷繁数据信息的融合,使得人们在生产及生活过程中,都将会接收到各种类型的数据信息,而通过计算机技术与网络技术,则能够将众多人们所不了解或不常用的 ...
- php mysql百万级数据_php+mysql百万级数据怎么排序_PHP教程
php+mysql百万级数据如何排序? php+mysql百万级数据分页.因涉及多表多条件联合查询.谁能帮忙优化下面的查询语句. if(empty($wheresql)){ $wheresql=&qu ...
- php mysql百万级数据_PHP+MySQL百万级数据插入的优化
插入分析 MySQL中插入一个记录需要的时间由下列因素组成,其中的数字表示大约比例: 连接:(3) 发送查询给服务器:(2) 分析查询:(2) 插入记录:(1x记录大小) 插入索引:(1x索引) 关闭 ...
- mysql会话级表_php – MySQL会话表方法
编写 custom session handler非常简单,但我认为存储会话数据的方法可能比MEMORY表更好. CREATE TABLE IF NOT EXISTS `session` ( `id` ...
- php mysql完全学习手册 下载_PHP+MySQL完全学习手册
第1篇 入门篇 第1章 PHP基础 1.1 概述 1.1.1 PHP 4.0和PHP 5.0 1.1.2 PHP的特性 1.1.3 PHP的环境需求 1.1.4 PHP的数据库集成功能 1.2 安装支 ...
最新文章
- java面试题2016_2016最新java面试题 详细版
- CentOS系统启动及内核大破坏模拟实验
- 打印服务不能启动 print spooler服务停止
- Android设计模式系列(2)--SDK源码之观察者模式
- virtualbox 创建桥接网络_VirtualBox 配置虚拟网卡(桥接),实现主机-虚拟机网络互通(图文教程)...
- java高性能阻塞队列,Linux c/c 后台开发组建之:高性能阻塞队列
- java的BASE64Encoder,BASE64Decoder加密与解密
- 四步创建TCP客户端
- 《Oracle性能优化与诊断案例精选》——2.3 衣带渐宽终不悔
- GA-T1400协议--注册注销
- 基于创芯CAN分析仪ControlCAN.dll的C#二次开发库
- 10年建模师给想学次世代游戏建模同学的一些忠告,太受益了!
- 什么是 Access Token
- 提前三天教你们python制作万能抢购神器,学不会就准备过光棍节吧
- Ace教你一步一步做Android新闻客户端(四) 优化Bitmap大法
- Android动态获取权限(读写、获取手机状态、定位)
- Windows bat 编程基本语法
- W308R南昌星空极速软件
- 并行处理及分布式系统 第二章 并行硬件和并行软件
- 百度云管家在计算机上删除,百度云管家盘符删不掉怎么办?删除百度云管家盘符的方法...