ホームページ > バックエンド開発 > PHPチュートリアル > php+mysql 都道府県・市・県レベル3連携 ajax技術ソースコードを使用した非リフレッシュメニュー_PHPチュートリアル

php+mysql 都道府県・市・県レベル3連携 ajax技術ソースコードを使用した非リフレッシュメニュー_PHPチュートリアル

WBOY
リリース: 2016-07-13 10:59:11
オリジナル
799 人が閲覧しました

とても簡単です

1. まず
を入れます header.html ページに追加
2. regionss() 関数を /include/tag.php
に追加します 3. Web サイトのルート ディレクトリに regions.php ファイル
を作成します 4. {$regionss(中華人民共和国)}をテンプレート内の適切な場所に追加すれば完了です

注: フォームの名前は必要に応じて変更できます...


テストページのコード:

php+ajax はドロップダウン メニューを動的に生成します <スクリプト言語="JavaScript" src="../include/js/regions.js">

<フォーム名="form1" メソッド="投稿" アクション=""> {$regionss(中華人民共和国)}





地域関数コード:
//県、市、地域の 3 レベルのリンク ドロップダウン メニュー関数regions province.city.region
関数地域($country="中華人民共和国")
{

グローバル $db; $i = 1;

$text=""; $text.=" n";
return $text;
                                                                               



regions.js のコード:

//var ab = new Array();
var xmlHttp;
var xmlHTTP;
関数 createXMLHttpRequest() {
    if (window.ActiveXObject) {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest) {
        xmlHttp = 新しい XMLHttpRequest();
    }
}
関数 createXMLHttpRequesta() {
    if (window.ActiveXObject) {
        xmlHttpa = new ActiveXObject("Microsoft.XMLHTTP");
    }
    else if (window.XMLHttpRequest) {
        xmlHttpa = 新しい XMLHttpRequest();
    }
}
   
関数 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);
}
     
関数 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 = 新しい Array();

関数 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);
}

関数 handleStateChangea() {
    if(xmlHttpa.readyState == 4) {
        if(xmlHttpa.status == 200) {
         var obja = document.getElementById('select3');
            eval(xmlHttpa.responseText);  
        // サーバーから返された文字をページ内の ID が select3 の領域に書き込まれる
            
        }
    }
}

データ据岛地域.php页面代码

「common.php」が必要です。
$city = $city ? $city : "";
$エリア = $エリア ? $area : "";
if($province && $city==''){
  グローバル $db; $i = 1;
  
  $result = $db->query("SELECT DISTINCT city FROM ".TABLE_CITY." WHERE 州='$province' ORDER BY cityid");
  while($r = $db->fetch_array($result))
    {
       $r[都市]=iconv('gb2312','UTF-8',$r[都市]);
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' ORDER BY cityid");
  $r = $db->fetch_array($resultarea);
  $city = $r[都市];
  $resulta = $db->query("SELECT DISTINCT area FROM ".TABLE_CITY." WHERE city='$city' ORDER BY cityid");
   while($ra = $db->fetch_array($resulta))
    {
       $ra[エリア]=iconv('gb2312','UTF-8',$ra[エリア]);
echo "obja.options[obja.options.length] = new Option('".$ra[エリア]."','".$ra[エリア]."');n";
$i++;
    }


}
if($city && $province==''){
   グローバル $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[エリア]=iconv('gb2312','UTF-8',$r[エリア]);
echo "obja.options[obja.options.length] = new Option('".$r[エリア]."','".$r[エリア]."');n";
$i++;
    }
}
?>

地址情報データ库:

     採用されたのは phpcms3.0 からのデータファイルであり、一切の変更は行っていません

本プログラムは phpcms3.0 里で直接使用でき、若年者は他の場所で请自己修正を使用できます

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631911.html技術記事很简单の 1. 先掴む script language=JavaScript src=../include/js/regions.js/script を header.html に追加 2. 握る領域s() 関数数を /include/tag.php に追加 3.在你网站の根目...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート