とても簡単です
1. まず
を入れます
header.html ページに追加
2. regionss() 関数を /include/tag.php
に追加します
3. Web サイトのルート ディレクトリに regions.php ファイル
を作成します
4. {$regionss(中華人民共和国)}をテンプレート内の適切な場所に追加すれば完了です
注: フォームの名前は必要に応じて変更できます...
テストページのコード:
頭>
<フォーム名="form1" メソッド="投稿" アクション="">
{$regionss(中華人民共和国)}
フォーム>
本文>
地域関数コード:
//県、市、地域の 3 レベルのリンク ドロップダウン メニュー関数regions province.city.region
関数地域($country="中華人民共和国")
{
$text=""; $text.="
//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 里で直接使用でき、若年者は他の場所で请自己修正を使用できます