Skip navigation

Category Archives: PHP


MySQL→JSON変換(mysql2json.class.php)

Ajaxの盛り上がりでJavascriptを多く使うようになってきた。
Javascriptはクライアントスクリプトなので、DBとの連携(データやりとり)をどうしようかと、悩むこともある。
例えば、Google Maps APIで大量のマーカーをプロットしたいときに、DBにマーカー情報を登録させておいて、そこから、Javascriptでデータを受け取りマーカープロットさせたい!など、JavascriptとDBを連携させたい時がある。
JavascriptとDBの連携には、AjaSQLやPEARとか、色々なクラス(ライブラリ)があるので、みんな何を使っているのかは???だが、僕は、mysql2json.class.phpを使っている。
mysql2json.class.phpは、その名のとおり、MySQLからJSON形式に変換してくれるクラス。
以下からダウンロードすることができます。
※ダウンロードにはユーザー登録が必要でした(確か・・・)
mysql2json.class.php
http://www.phpclasses.org/browse/file/14803.html
ちなみにJSONとは、
引用:
JSON (JavaScript Object Notation) は、軽量なデータ交換フォーマットです。それは、人間にとって読みやすく、書きやすく、また、機械にとっても解析と生成の容易な形式です。 JavaScript(ECMAScript)にもとづくサブセットです。
(【Ajax】JSON by JavaScript++かも日記)
このmysql2json.class.phpをインクルードさせて以下のようにPHPで記述すれば、たった数行で簡単に、MySQLからJSON形式に変換してくれます。
PHPの記述:
PLAIN TEXT
PHP:

<? php

 

include("mysql2json.class.php");

 

//MySQL接続設定

define("DBSV", "localhost");

define("DBNAME", "testdb");

define("DBUSER", "testuser");

define("DBPASS", "pass");

 

//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 test";

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

$num=mysql_affected_rows();

 

// クラスを呼び出して出力

$objJSON=new mysql2json();

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

 

?>

出力結果(JSON)は、以下な感じです。
PLAIN TEXT
HTML:

{

"data": [

{

"gid" : "1",

"lat" : "34.678482",

"lng" : "137.715158"

},

{

"gid" : "2",

"lat" : "34.708146",

"lng" : "137.746757"

},

{

"gid" : "3",

"lat" : "34.664578",

"lng" : "137.681942"

},

.

.

.

{

"gid" : "250",

"lat" : "34.667824",

"lng" : "137.771654"

}

]

}

とっても簡単ですね。
Tags: JSON, MySQL, PHP