2013-04-25 19 views
-1

我有一個使用這種方法Link Here將數據傳遞到HTML頁面的SQL數據庫:從SQL數據庫傳遞格式的HTML代碼的HTML頁面

downloadUrl("phpsqlajax_genxml.php", function(data) { 
    var xml = data.responseXML; 
    var markers = xml.documentElement.getElementsByTagName("marker"); 
    for (var i = 0; i < markers.length; i++) { 
    var name = markers[i].getAttribute("name"); 
    var address = markers[i].getAttribute("address"); 
    var type = markers[i].getAttribute("type"); 
    var point = new google.maps.LatLng(
     parseFloat(markers[i].getAttribute("lat")), 
     parseFloat(markers[i].getAttribute("lng"))); 
    var html = "<b>" + name + "</b> <br/>" + address; 
    var icon = customIcons[type] || {}; 
    var marker = new google.maps.Marker({ 
     map: map, 
     position: point, 
     icon: icon.icon, 
     shadow: icon.shadow 
    }); 
    bindInfoWindow(marker, map, infoWindow, html); 
    }`enter code here` 
}); 

編輯在這部分的HTML是不錯,但如果我是通過格式化HTML例如<b> Hello World </b>以此作爲變量,它將顯示爲「<b> Hello World </b>」,因此不會被視爲HTML代碼。

我想這樣做,所以我可以將預格式化的HTML傳遞給InfoWindow。

是他們的方式嗎?

回答

0

我解決了這個,而不是使用PHP文件下面創建XML:

// Iterate through the rows, printing XML nodes for each 
while ($row = @mysql_fetch_assoc($result)){ 
    // ADD TO XML DOCUMENT NODE 
    echo '<marker '; 
    echo 'name="' . parseToXML($row['name']) . '" '; 
    echo 'address="' . parseToXML($row['address']) . '" '; 
    echo 'lat="' . $row['lat'] . '" '; 
    echo 'lng="' . $row['lng'] . '" '; 
    echo 'type="' . $row['type'] . '" '; 
    echo '/>'; 
} 

我使用DOM XML功能:

// Iterate through the rows, adding XML nodes for each 
while ($row = @mysql_fetch_assoc($result)){ 
    // ADD TO XML DOCUMENT NODE 
    $node = $doc->create_element("marker"); 
    $newnode = $parnode->append_child($node); 

    $newnode->set_attribute("name", $row['name']); 
    $newnode->set_attribute("address", $row['address']); 
    $newnode->set_attribute("lat", $row['lat']); 
    $newnode->set_attribute("lng", $row['lng']); 
    $newnode->set_attribute("type", $row['type']); 
} 

兩個版本都顯示here