ricominciamo, vediamo così:
-pagina principale da cui seleziono d amenu a tendina e che passa il parametro al generatore di xml:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title>Visualizzazione markers su Google Map tramite MySQL e PHP</title>
<script src="http://maps.google.com/maps?file=api&v=2&key=ABQIAAAArSysGIurcK7dOMZla-7TExQSXE4ITa1YzwIbIoQt-CisjCLm8xS2jytkVj9gPuB1NWF-zZMCsCPqMA"
type="text/javascript"></script>
<script type="text/javascript">
function load() {
if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(44.0750963, 10.700323), 8);
GDownloadUrl("creaxml.php", function(data) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("marker") ;
for (var i = 0; i < markers.length; i++) {
var denom = markers[i].getAttribute("denom");
var indirizzo = markers[i].getAttribute("indirizzo");
var tipomarker = markers[i].getAttribute("tipomarker");
var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("long")));
var marker = createMarker(point, denom, indirizzo, tipomarker);
map.addOverlay(marker);
}
});
}
}
function createMarker(point, denom) {
var marker = new GMarker(point);
GEvent.addListener(marker, 'mouseover', function() {
marker.openInfoWindowHtml(denom);
});
return marker;
}
</script>
</head>
<table width="770" border="1" align="center" cellpadding="10" cellspacing="3">
<tr align="center" valign="middle">
<td bgcolor="#CCCCCC" class="CellaIntest">Selezione dati dal database</td>
</tr>
<form name="elab" method="post" action="./creaxml.php">
<tr>
<td align="center" valign="middle" class="CellaDati">
Seleziona un id:
<select name="seltipo" id="seltipo">
<option value="1" >pisa</option>
<option value="2" >firenze</option>
<option value="3" >livorno</option>
</select>
</p>
</td>
</tr>
<tr align="center" valign="middle">
<td class="CellaIntest"> <input type="submit" value="Visualizza dati "> </td>
</tr>
</form>
</table>
<body onload="load()" onunload="GUnload()">
<div id="map" style="width: 800px; height: 600px"></div>
</body>
</html>
--------------------------------
pagina che crea l'xml:
<?php
$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
// Si connette al database
$connection= mysql_connect ('localhost', 'root', '') or die('Non connesso : ' . mysql_error());
$db_selected = mysql_select_db('gdb', $connection) or die ('database non selezionato : ' . mysql_error());
// Seleziona tutte le righe della tabella con i markers
$seltipo = $_POST['seltipo'];
$query = "SELECT * FROM markers WHERE id='$seltipo'";
$result = mysql_query($query);
if (!$result) {
die('Invalid query: ' . mysql_error());
}
header("Content-type: text/xml");
// Iterate through the rows, adding XML nodes for each
while ($row = @mysql_fetch_assoc($result)){
// ADD TO XML DOCUMENT NODE
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("name",$row['denom']);
$newnode->setAttribute("address", $row['indirizzo']);
$newnode->setAttribute("lat", $row['lat']);
$newnode->setAttribute("long", $row['long']);
$newnode->setAttribute("type", $row['tipomarker']);
}
echo $dom->saveXML();
?>
----------------------------
ma non funziona!!!!!!!!!!![]()
![]()
chi mi corregge please?
grazie mille