この記事では主に、thinkPHP によって実装された州と市区町村の 3 レベル連携機能を紹介し、州と市区町村の 3 レベル連携機能を実装するための thinkPHP の詳細な手順と関連する操作スキルを詳細に分析します。
この記事では、thinkPHPで実装された都道府県と市区町村の3階層連携機能の例について説明します。参考までに皆さんに共有してください。詳細は以下の通りです:
1つのテーブルで都道府県と市区町村の3階層の連携を実現 [3409個のデータ]
1. PHPコード:
public function index(){ $province = M('Tree')->where ( array('pid'=>1) )->select (); $this->assign('province',$province); $this->display(); } public function getRegion(){ $Region=M("Tree"); $map['pid']=$_REQUEST["pid"]; $map['type']=$_REQUEST["type"]; $list=$Region->where($map)->select(); echo json_encode($list); }
2. :
<select name="province" id="province" onchange="loadRegion('province',2,'city','{:U('Index/getRegion')}');"> <option value="0" selected>省份/直辖市</option><volist name="province" id="vo"> <option value="{$vo.id}" >{$vo.name}</option></volist> </select> <select name="city" id="city" onchange="loadRegion('city',3,'town','{:U('Index/getRegion')}');"> <option value="0">市/县</option> </select> <select name="town" id="town"> <option value="0">镇/区</option> </select>
3. JavaScript コード:
function loadRegion(sel,type_id,selName,url){ jQuery("#"+selName+" option").each(function(){ jQuery(this).remove(); }); jQuery("<option value=0>请选择</option>").appendTo(jQuery("#"+selName)); if(jQuery("#"+sel).val()==0){ return; } jQuery.getJSON(url,{pid:jQuery("#"+sel).val(),type:type_id}, function(data){ if(data){ jQuery.each(data,function(idx,item){ jQuery("<option value="+item.id+">"+item.name+"</option>").appendTo(jQuery("#"+selName)); }); }else{ jQuery("<option value='0'>请选择</option>").appendTo(jQuery("#"+selName)); } } ); }
4. SQL コード:
DROP TABLE IF EXISTS `tp_tree`; CREATE TABLE `tp_tree` ( `id` int(5) unsigned NOT NULL AUTO_INCREMENT, `pid` int(5) unsigned NOT NULL DEFAULT '0', `name` varchar(120) DEFAULT NULL, `type` tinyint(1) DEFAULT '2', PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=3410 DEFAULT CHARSET=utf8;
5. TP_tree.sql ファイル。
関連する推奨事項:
ThinkPHP に組み込まれている ThinkAjax を使用して非同期送信テクノロジーを実装する方法
ThinkPHP で Ajax を使用して JSON データを受信する方法
以上がthinkPHPで実現した都道府県・市区町村の3階層連携機能の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。