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