スポンサードリンク

XML形式にテーブルデータをGoogle Mapsで読み出すためのPHPファイルを作成/PHP, MySQL & Google Maps

Google Code から Using PHP/MySQL with Google MapsUsing PHP’s DOM functions to output XML 項を参照

PHP 5の場合は、 「Using PHP’s DOM functions to output XML」を参照と書いてある。
さてなんと書いてあるのか。
  1. PHPで、最初に新しいXMLドキュメントを初期化する。
  2. 「marker」親ノードを作成し、その際にデータベースに接続する。
  3. SELECT*を実行する。(すべて選択)
  4. 作成したテーブルからのデータを繰り返し引き出す。
  5. テーブル(各位置)の各行には、XML属性として行属性で新しいXMLノードを作成しておき、親ノードに追加する。
  6. 表示用XMLが生成される。
注意: utf-8で記述すること。
◆php記述
<?php
require(“dbinfo.php”);
// スタートXMLファイル、親ノード作成
$dom = new DOMDocument(“1.0″);
$node = $dom->createElement(“markers”);
$parnode = $dom->appendChild($node);
// MySQL サーバへの接続
$connection=mysql_connect ($hostname, $username, $password);
if (!$connection) {
die(‘Not connected : ‘ . mysql_error());
}
//MySQLデータサーバのセット
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
die (‘Can\’t use db : ‘ . mysql_error());
}
// テーブルデータの全行列を選択
$query = “SELECT * FROM markers WHERE 1″;
$result = mysql_query($query);
if (!$result) {
die(‘Invalid query: ‘ . mysql_error());
}
header(“Content-type: text/xml”);
// 各XMLノードへのデータ追加を繰り返す
while ($row = @mysql_fetch_assoc($result)){
//XMLドキュメントノードに追加する
$node = $dom->createElement(“marker”);
$newnode = $parnode->appendchild($node);
$newnode->setattribute(“linkurl”, $row[‘linkurl’]);
$newnode->setattribute(“explanation”, $row[‘explanation’]);
$newnode->setattribute(“lat”, $row[‘lat’]);
$newnode->setattribute(“lng”, $row[‘lng’]);
$newnode->setattribute(“category”, $row[‘category’]);
$newnode->setattribute(“name”, $row[‘name’]);
}
echo $dom->saveXML();
?>
◆ファイル名は、phpsqlajax_genxml.phpで保存
さて次は、XMLファイルの生成チェック
つづく

スポンサードリンク

Related Posts

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="">