blog

BLOGブログ

ARCHIVES

VAX

いますぐ使える!PHPを使って郵便番号から住所入力補助するアレ。あっ今日はカレー曜日だね。

9e4370635ad20a2ec2b50431346fe2ca_sお疲れさまです。

 

そろそろカレーカテゴリーを勝手に追加してやろうと思っております。

みんなのVAXです。

 

 

 

です。。。。

 

 

今日は時間も時間でおなかもすきまくっているので今回の件をささっとまとめようと思います。

 

まるで、そう、収拾がつかなくなった男女関係のようにね。。。

 

get_b

 

では、

 

 

まずはgoogle様への感謝の気持ちとこちら(php)

 

get_address.php

 

 

<?php
$zipcord ="";
$user= array();
if(isset($_GET["zipcord"])){
$zipcord =$_GET["zipcord"];
}
if(!empty($zipcord)){
$data = 'http://maps.googleapis.com/maps/api/geocode/json?sensor=true&language=ja&address='. $zipcord;
$json = file_get_contents($data);
if ($json == false) {
echo "false";
return;
}
$obj = json_decode($json,true);
//配列の中身をカウント [result] の 最初の配列の [address_components]
$count =count($obj['results'][0]['address_components']);
for ($a=0;$a<$count;$a++){
//都道府県名
if($obj['results'][0]['address_components'][$a]['types'][0] == "administrative_area_level_1"){
$location1 = $obj['results'][0]['address_components'][$a]['long_name'];
}
//郡
if($obj['results'][0]['address_components'][$a]['types'][0] == "colloquial_area"){
$location2 = $obj['results'][0]['address_components'][$a]['long_name'];
}
//市
if($obj['results'][0]['address_components'][$a]['types'][0] == "locality"){
$location3 = $obj['results'][0]['address_components'][$a]['long_name'];
}
//区
if($obj['results'][0]['address_components'][$a]['types'][0] == "ward"){
$location4 = $obj['results'][0]['address_components'][$a]['long_name'];
}
//以下
if($obj['results'][0]['address_components'][$a]['types'][0] == "sublocality_level_1"){
$location5 = $obj['results'][0]['address_components'][$a]['long_name'];
}
}
$user[] = array(
'location1' => $location1.$location2.$location3.$location4.$location5
);
//jsonとして出力
header('Content-type: application/json');
echo json_encode($user);
}
?>

 

 

これを PHPファイル として保存してください。

 

.php ってやつですね。

 

 

受け取り側( js)

 


jQuery(function($){
$('#get_address').click(function(){
var zipcord = $('#zipcord').val(); //郵便版番号入力値 名前はそれぞれ
if (zipcord != "" ){
//loadingとか入れたいとき用 使用時は //を外します
//$('#loading_address').fadeIn();
$.ajaxSetup({
// IE対策 キャッシュクリア
cache: false, });
$.ajax({
type: 'GET',
url: 'function/get_address.php?zipcord='+zipcord,
datatype: 'json',
success: function(json){
$.each(json, function(i, item){
$('#address').val(item.location1);
//$('#loading_address').fadeOut();//loadingとか入れた人はこいつで読み込み後消せます。
});
}, error: function(){
// $('#loading_address').fadeOut();//loadingとか入れた人はこいつで読み込み後消せます。
alert('error');
}
});
} else {
alert('error');
}
});
});

 

 

url 部分

‘function/get_address.php

 

こちらは get_address.php を設置するパスを書いてください。

 

 

受け取り側 (html)

 


<html>

 :

<script src=”//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js”></script>

<script>

【受け取り側 js をここに記述】

</script>

<body>

<p><input type=”text” id=”zipcord” value=”” > <button type=”button” id=”get_address”>自動入力</button></p>
<p><input type=”text” id=”address” value=”” ></p>

</body>

</html>

 

htmlファイルの中に

jQueryのコードを書いておいてくださいね。

 

 

なんのこっちゃわかんない人もいると思いますがやってる内容は

 

■php・・・googleマップなんやらで使っているであろうの便利なもので郵便番号から

「都道府県名」「市町村区」を取得して json 吐き出し。

 

■html・・・jquery の ajax通信を使って phpファイルに送信

phpファイルからの返信を受け取り表示

 

 

実際の動きはdemoを確認してみてください。

 

 

 

まだ需要があるかはわかりませんが

どこかでおまけに追加してあげておくとみんな助かります。

 

 

まとめ

 

今回僕は1週間ほどカレーとのブランクがあります。

食べたいならすぐ食べた方がいい!

 

どこかの偉い人が言っていた気がしますがみなさんも必要だと思うならすぐ使ってみるといいと思います。

 

 

次回こそ、、、

 

 

この人が書いた記事

VAXの記事をもっと見る

関連する記事