Salve, ho una tabella nel mio database chiamata scuole che contiene molti attributi tra cui nomeScuola, indirizzoScuola, lat (latitudine), lng (longitudine). Il mio scopo era quello di stampare più marker su una mappa google con dati ricavati dal database. Il problema fondamentalmente è che, se faccio una select dal database di una sola riga senza gestire gli array il codice mi funziona e quindi mi stampa il marker della riga richiesta, mentre se eseguo il codice che ho riportato qui sotto non si vede nessun marker e la mappa mi compare quindi vuota.. AIUTATEMI VI PREGOOOO
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento senza titolo</title>
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true&language=it"></script>
<?php
mysql_connect("localhost","root","") or die ("Err Connessione!");
$db=mysql_select_db("SBSVr") or die ("Err DB!");
$sql="SELECT nomeScuola, indirizzoScuola, lat, lng FROM scuole";
$ris=mysql_query($sql) or die ("Err Query!");
$ct=0;
while($riga=mysql_fetch_array($ris))
{
$nomeScuola[$ct]=$riga["nomeScuola"];
$indirizzoScuola[$ct]=$riga["indirizzoScuola"];
$lat[$ct]=$riga["lat"];
$lng[$ct]=$riga["lng"];
$ct++;
}
?>
<script type="text/javascript">
var ct = "<?= $ct; ?>";
var nomeScuola[];
var indirizzoScuola[];
var lat[];
var lng[];
for(c=0; c<ct; c++)
{
nomeScuola[c] = "<?= $nomeScuola[c]; ?>";
indirizzoScuola[c] = "<?= $indirizzoScuola[c]; ?>";
lat[c] = "<?= $lat[c]; ?>";
lng[c] = "<?= $lng[c]; ?>";
}
</script>
</head>
<body onLoad="inizializza()">
<h1>Dove siamo</h1>
<div id="map" style="width:680px;height:500px;"></div>
<script type="text/javascript">
function inizializza() {
// fornisce latitudine e longitudine
var latlng = new google.maps.LatLng(45.422613, 11.063912);
// imposta le opzioni di visualizzazione
var options = { zoom: 9,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
// crea l'oggetto mappa
var map = new google.maps.Map(document.getElementById('map'), options);
for(c=0; c<ct; c++)
{
var posScuola= new google.maps.LatLng(lat[c],lng[c]);
var marker = new google.maps.Marker({ position: posScuola,
map: map,
title: nomeScuola[c] });
var stringa= "<strong>"+nomeScuola[c]+"</strong><br />"+indirizzoScuola[c]+"<br />";
var infowindow= new google.maps.InfoWindow(
{
content: stringa,
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.open(map, marker) });
}
}
</script>
</body>
</html>