我更願意使它們的JSON。您可以像上面所做的那樣在頁面中進行該操作。
<?php
// do database connection here
// run query to fetch your results
$rows = array();
while ($row = mysql_fetch_array($query)) {
$rows[] = $row;
}
echo "<script>var items = '".json_encode($rows)."';</script>";
您可以遍歷JavaScript中的items
數組。
for (var i = 0; i < items.length; i++) {
(function(item) {
addMarker(item.lat, item.lon, '<b>' + item.name + '</b><br />' + item.desc);
})(items[i]);
}
我推測你的addMarker()
函數創建了一個標準的Google Map標記。
另一種方法是,您可以使用PHP腳本從數據庫中提取項目,將它們作爲JSON字符串回顯,然後使用jQuery通過AJAX調用該腳本。
所以,你的PHP腳本將僅僅是:
<?php
header('Content-Type: application/json');
// connect to database
// do query
$rows = array();
while ($row = mysql_fetch_array($res)) {
$rows[] = $row;
}
echo json_encode($rows);
exit;
然後在你的JavaScript文件:
$.getJSON('script.php', function(items) {
for (var i = 0; i < items.length; i++) {
(function(item) {
addMarker(item.lat, item.lon, '<b>' + item.name + '</b><br />' + item.desc);
})(items[i]);
}
});
希望這有助於。
你有什麼理由想用另一種方法來做同樣的事情嗎?在我看來,如果這種方式有效,就用':)'。 – halfer 2012-03-13 22:19:16
沒有傢伙:)對不起我的英語.. – zippo 2012-03-13 22:20:49