スポンサードリンク

MySQL+phpからJSON形式ファイルの作成(復習)

◆データベース 上でクエリを実行する
CREATE TABLE JSON1 (
id int(11) NOT NULL auto_increment,
lat decimal(10,6) NOT NULL default’0.000000′,
lng decimal(10,6) NOT NULL default’0.000000′,
html varchar(255) NOT NULL default “,
label varchar(255) NOT NULL default “,
PRIMARY KEY (id)
) TYPE=MyISAM

◆インポートさせるデータのテキストファイル「*.txt」を作成

1;35.714559;139.517698;<a href=”http://waotabi.web.fc2.com/kouen/tokyo-koganei.html” target=”_blank”>詳細リンク</a>;小金井公園

2;35.763940;139.384980;<a href=”http://waotabi.web.fc2.com/kouen/tokyo-noyamakita.html” target=”_blank”>詳細リンク</a>;野山北・六道山公園

3;35.676495;139.491963;<a href=”http://waotabi.web.fc2.com/kouen/tokyo-fuchumori.html” target=”_blank”>詳細リンク</a>;府中の森公園

4;35.656227;139.473656;<a href=”http://waotabi.web.fc2.com/kouen/tokyo-fuchuukyoudounomori.html” target=”_blank”>詳細リンク</a>;府中市郷土の森

5;35.63740;139.46047;<a href=”http://waotabi.web.fc2.com/kouen/tokyo-sakuragaoka.html” target=”_blank”>詳細リンク</a>;都立桜ヶ丘公園

6;35.682294;139.524779;<a href=”http://waotabi.web.fc2.com/kouen/tokyo-nogawa.html” target=”_blank”>詳細リンク</a>;都立野川公園

7;35.960831;139.850614;<a href=”http://waotabi.web.fc2.com/chiba-shimizu.html” target=”_blank”>詳細リンク</a>;清水公園

◆MySQLにテキストファイルをインポート

◆MySQLからJSON形式ファイルを生成するためのphpファイルを作成

<?php

include(“mysql2json.class.php”);

//MySQL接続設定

define(“DBSV”, “サーバ名“);

define(“DBNAME”, “データベース名“);

define(“DBUSER”, “ユーザ“);

define(“DBPASS”, “パスワード“);

//MySQL接続

$conn = mysql_connect(DBSV, DBUSER, DBPASS) or die();

mysql_query(“SET NAMES utf8″,$conn);

mysql_select_db(DBNAME, $conn);

//SQLの発行

$num=0;

$sql = “SELECT * FROM JSON1“;

$result = mysql_query($sql, $conn);

$num=mysql_affected_rows();

//JOSNファイル生成

$objJSON=new mysql2json();

print(trim($objJSON->getJSON($result,$num)));

?>

◆ブラウザで上記phpファイルにアクセスして、JSON形式ファイルが生成されているか確認

http://waox.main.jp/news/maps/googlemapsapi/example/json1-demo.php

{ “data”: [ { “id” : “1”, “lat” : “35.714559”, “lng” : “139.517698”, “html” : “詳細リンク“, “label” : “小金井公園” }, { “id” : “2”, “lat” : “35.763940”, “lng” : “139.384980”, “html” : “詳細リンク“, “label” : “野山北・六道山公園” }, { “id” : “3”, “lat” : “35.676495”, “lng” : “139.491963”, “html” : “詳細リンク“, “label” : “府中の森公園” }, { “id” : “4”, “lat” : “35.656227”, “lng” : “139.473656”, “html” : “詳細リンク“, “label” : “府中市郷土の森” }, { “id” : “5”, “lat” : “35.637400”, “lng” : “139.460470”, “html” : “詳細リンク“, “label” : “都立桜ヶ丘公園” }, { “id” : “6”, “lat” : “35.682294”, “lng” : “139.524779”, “html” : “詳細リンク“, “label” : “都立野川公園” }, { “id” : “7”, “lat” : “35.960831”, “lng” : “139.850614”, “html” : “詳細リンク“, “label” : “清水公園” } ] };

◆最後にGoogle Maps APIで活用

スポンサードリンク

Related Posts
  1. MySQLもPHPもJSONも初心者のものです。
    非常に興味深い記事で、参考にさせていただきました。
    すごく勉強になりました^^
    今Twitterの緯度、経度をMySQLに格納されているので
    その100件ほどの緯度、経度をGoogle Mapsにプロットしたいのですが
    いい案がないかと思い探しているとここにたどり着きました。
    この方法のプロットまでのサンプルソースは公開していらっしゃいますか?

  2. @探検者さん
    MySQL⇒JSON⇒Google Maps APIというご希望であれば、ソースは製作しておりません。MySQL⇒XML⇒Google
    Maps APIであれば、Googleのページにサンプルコードがありますので試されてみて下さい。なお、下記記事は、このGoogleのページのサンプルを試した時のものですので参考になれば幸いです。XMLでもPC上での実用には、あまり遅いとは感じないと思います(マーカー数 約800点)。

    スマートフォン用であれば、やはりJSON読み込みのほうがいいのでしょうが、手が回っておりません。上記マーカー数800点ほどの座標情報をスマートフォンで見れるように試した経緯があります。サンプルはhttp://waox.main.jp/iPhone/jq/demos/phpmysqlgeo_clicroot/#map (PCからは、ブラウザGoogle Chromeでどうぞ)。
    これで遅いと感じるのであれば、お役に立てず申し訳ありません。
    http://waox.main.jp/news/?p=123

    http://waox.main.jp/news/?p=130

    http://waox.main.jp/news/?p=139

    http://waox.main.jp/news/?p=193

    http://waox.main.jp/news/?p=190

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <img localsrc="" alt="">