Salve
dovevo aggiunge a un database di tutti i comuni i dati di latitudine e longitudine
ma non ho problemi nel formulare la query ma nel memorizzarla nella variabile d'appoggio per poi eseguirla sono 30 min che guardo provo ma non ne vengo fuori
ecco il codice
Codice PHP:
<?
echo "hello";
require("geocoder5.class.php");
$conn=mysql_connect("localhost","root","");
if(!$conn){
exit("Errore");
}else{
echo "Connessione effettuata con successo! <BR><HR>" ;
}
if(!mysql_select_db("generale comune",$conn)){
exit("Errore");
}
echo "Selezione riuscita!";
$select = "SELECT * FROM comuni where sigla_provincia='PU'";
$query = mysql_query($select);
$data = array();
while($comune=mysql_fetch_array($query)){
$comune=$comune['nome_comune'].", ".$comune['sigla_provincia'].", "."Italy";
echo $comune;
array_push($data,$comune);
}
//localhost:
$gmpKey = "ABQIAAAAzr2EBOXUKnm_jVnk0OJI7xSosDVG8KKPE1-m51RBrvYughuyMxQ-i1QfUnH94QxWIa6N4U6MouMmBA";
$test = & new geocodeaddr($data,$gmpKey);
$geocodeResults = $test->getAddress();
//echo("<table class='datatable' cellspacing='0' summary='Risultati georeferenziazione'>");
//echo("<tr><th scope='col'>Indirizzo</th><th scope='col'>Latitudine</th><th scope='col'>Longitudine</th></tr>");
foreach ($geocodeResults as $rowResult){
// echo('<tr><td>'.$rowResult['address'].'</td><td>'.$rowResult['lat'].'</td><td>'.$rowResult['lng'].'</td></tr>');
$lat=$rowResult['lat'];
$long=$rowResult['lng'];
$richiesta= " UPDATE comuni set latitudine = '$lat', longitudine = '$long' where nome_comune = '$rowResult['address']'";
mysql_query($richiesta);
}
/// echo("</table>");
echo $test->errorMsg;
?>
la pagine invece citata sopra nel require è:
Codice PHP:
<?php
class geocodeaddr
{
public $mapsHost = "maps.google.com";
public $googleKey = "myGoogleMapsKey";
public $dataArray;
public $errorMsg = "";
public function __construct($dataArray, $googleKey)
{
$this->dataArray = $dataArray;
$this->googleKey = $googleKey;
}
public function getAddress()
{
$results = array();
// Initialize delay in geocode speed
$delay = 0;
$base_url = "http://" . $this->mapsHost . "/maps/geo?output=xml" . "&key=" .
$this->googleKey . "&oe=utf-8";
// Iterate through the rows, geocoding each address
foreach ($this->dataArray as $address) {
$geocode_pending = true;
while ($geocode_pending) {
$request_url = $base_url . "&q=" . urlencode($address);
$xml = simplexml_load_file($request_url) or die("url not loading");
$status = $xml->Response->Status->code;
if (strcmp($status, "200") == 0) {
// Successful geocode
$geocode_pending = false;
$coordinates = $xml->Response->Placemark->Point->coordinates;
$coordinatesSplit = split(",", $coordinates);
// Format: Longitude, Latitude
$lng = $coordinatesSplit[0];
$lat = $coordinatesSplit[1];
$results[] = array("address" => $address, "lat" => $lat, "lng" => $lng);
} else if (strcmp($status, "620") == 0) {
// sent geocodes too fast
$delay += 100000;
} else {
// failure to geocode
$geocode_pending = false;
$results[] = array("address" => $address, "lat" => 0, "lng" => 0);
$this->errorMsg .= "Address ".$address.
" failed to geocoded. Received status ".$status."\n";
}
usleep($delay);
}
}
return $results;
}
}
?>
l'errore è a riga 33 esattamente Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in J:\ESAMI\xampp\htdocs\iphoto\prova\geocode_array_a ddresses.php on line 33
sono certo che è una cavolta ma proprio non riesco a capire dov'è l'errore avrei capito un errore nel fare la query ma non nel memorizzarla in una variabile
grazie a quanti mi illumineranno