您好,欢迎访问一九零五行业门户网

落伍首发 php+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码_PHP教程

绝对原创  
测试地址: http://www.mlmm.cn/mypage/?name=ceshi
测试页代码:
复制代码 代码如下:
php+ajax动态生成下拉菜单
{$regionss(中华人民共和国)}
regionss 函数代码:
quote:
复制代码 代码如下:
//省市地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 页面代码
复制代码 代码如下:
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里直接使用,若在其他地方使用请自己修改
http://www.bkjia.com/phpjc/317597.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/317597.htmltecharticle绝对原创 测试地址:http://www.mlmm.cn/mypage/?name=ceshi 测试页代码: 复制代码 代码如下: html head metahttp-equiv=content-typecontent=text/html;charset=gb2...
其它类似信息

推荐信息