Visualizzazione risultati 1 fino 6 di 6

Discussione: stringa non accettata

  1. #1
    santacatarina non è connesso Neofita
    Data registrazione
    29-05-2007
    Messaggi
    5

    Question stringa non accettata

    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
    Ultima modifica di santacatarina : 21-05-2012 alle ore 21.17.48

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Qual'è il file geocode_array_addresses.php, cosa c'è alla riga 33?

  3. #3
    santacatarina non è connesso Neofita
    Data registrazione
    29-05-2007
    Messaggi
    5

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Qual'è il file geocode_array_addresses.php, cosa c'è alla riga 33?
    l'errore è su questa riga
    Codice PHP:
    $richiesta= " UPDATE comuni set latitudine = '$lat', longitudine = '$long' where nome_comune = '$rowResult['address']'";
    la pagina che cerchi è la prima


    grazie intanto
    Ultima modifica di dreadnaut : 20-05-2012 alle ore 23.25.25 Motivo: + tag [php]

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Nelle stringe fra doppi apici puoi inserire variabili come $qualcosa, ma se vuoi inserire qualcosa di più complesso di un semplice identificatore (oggetti o array), devi scriverlo fra parentesi graffe, come {$qualcosa}.

    Quindi:
    Codice PHP:
    $richiesta= " UPDATE comuni set latitudine = '$lat', longitudine = '$long' where nome_comune = '{$rowResult['address']}'";

  5. #5
    santacatarina non è connesso Neofita
    Data registrazione
    29-05-2007
    Messaggi
    5

    Cool

    grazie mille non sapevo di questa peculiarità
    correggo e vi faccio sapere



    grazie mille

  6. #6
    santacatarina non è connesso Neofita
    Data registrazione
    29-05-2007
    Messaggi
    5

    Thumbs up

    risolto funziona grazie mille a tutti

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •