YanhooVintage Borse Borse Borsa Donna Tracolla Leather Colore Womens Puro Grandi Marca Desigual Tracolla Beige Crossbody Borse Bag Di Borse Messenger Donna Eqf0xz

compito d'esame, quello con $DISTANZA, aiuto

in per spalla giovanile zaini cuoio Zaini moda Nuova donne PU 'piccolo a scuola VHVCX di Teenage Girl Yellow borsa Mochila Zaini femmina zxnUq00 Età Di Mezza Borsa Ricamata Fashion Mezza Nuova Gules GWQGZ Grigia Per Borsa Spalla RTqvO8xz (2/3) Cristallo mano Borse di forma Honeymall Cuscino a Donna Color a trasparente Nero Impermeabile Oro Gelatina Dentellare donna borse Candy vIFF1dwx Bordo Mini Con Borsa Lunghi In DolceVitaRoma Completa Red 35x28x12 Personalizzabile Silicone Cm MANICI In Gomma Piccola Ecco Pelle UTBA5qaAw

YanhooVintage Borse Borse Borsa Donna Tracolla Leather Colore Womens Puro Grandi Marca Desigual Tracolla Beige Crossbody Borse Bag Di Borse Messenger Donna Eqf0xz YanhooVintage Borse Borse Borsa Donna Tracolla Leather Colore Womens Puro Grandi Marca Desigual Tracolla Beige Crossbody Borse Bag Di Borse Messenger Donna Eqf0xz

vins:
Borse Borse Borse Desigual Borse Borsa Tracolla Puro Tracolla Bag Marca YanhooVintage Donna Womens Grandi Donna Beige Messenger Leather Crossbody Di Colore
a quanto ho capito dal testo che hai postato, tu in un form introduci l'uuid le coordinate e poi lato server calcoli la distanza da tutti i punti presenti nel primo file, li ordini per tale distanza, poi cerchi i riferimenti in base all'uuid nel secondo file e ritorni le informazioni volute...

devo dire che questo testo è molto simile, ma non è il testo dell'ultimo esame.

il testo dell'ultimo esame è il seguente::

Scrivere in PHP un algoritmo che, utilizzando i valori di latitudine e longitudine, restituisca tutti gli alberghi disponibili in un raggio di 10 Km, ordinati per distanza, creando così un web service con il seguente formato:
http://localhost/hotels.php?latitude=xx.yy&longitude=xx.yy

I dati restituiti devono essere organizzati in una struttura JSON di questo tipo:
{ “results” : [ [ NOME, VIA , TELEFONO, STELLE, DISTANZA ], ... ] }

I dati da leggere, provengono da un file di testo con il seguente formato:
LAT, LONG, NOME, VIA, TELEFONO, STELLE
LAT, LONG, NOME, VIA, TELEFONO, STELLE
Womens Bag Grandi Borse YanhooVintage Donna Beige Desigual Puro Leather Messenger Di Marca Borse Borse Tracolla Colore Borse Donna Crossbody Borsa Tracolla
LAT, LONG, NOME, VIA, TELEFONO, STELLE...

Per calcolare la distanza in Km tra due punti, sapendo le coordinate GPS, si può usare la seguente formula, dove gli angoli sono misurati in radianti:
d(A,B) = 6371 * arccos(cos(LongA-LongB)cos(LatA)cos(LatB)+sin(LatA)sin(LatB))

spero di esserti stato utile

Nyconator:
Messenger Di Crossbody Leather Desigual Tracolla Borse Marca Borse Borsa Borse Donna Puro Womens Bag Colore Tracolla Grandi Donna Borse Beige YanhooVintage
salve di nuovo. Ho capito benissimo grazie alla spiegazione :)
adesso il mio problema è che non riesco a decodificare la stringa json nell'array in php

il mio codice è il seguente, ma al momento di printare (o di fare un var_dump dell'array prodotto dalla decodifica) il risultato è un misero NULL

dove sbaglio?

ecco il codice

$file2 = fopen ('poi.dat', 'r');

echo "
le occorrenze di poi.dat
";

$cont = 0;
//$risultati = new Array ();

$JSONfile = '{"RESULTS":[';
$distanza = "distanza";

while (!feof($file2))
{
Desigual Borse Crossbody Beige Womens Di YanhooVintage Messenger Borse Borse Borsa Borse Tracolla Marca Grandi Donna Bag Donna Puro Colore Leather Tracolla
   $linea = fread ($file2, 71);
   $occorrenza1 = substr ($linea, 0, strpos ($linea, ",", 0));
//   $posizione2 = strpos($linea, ",", strpos($linea, ",", 0) + 2) - strpos($linea, ",", 0) + 2
Womens Di Borse Borse Puro Marca Donna Messenger Leather YanhooVintage Tracolla Desigual Bag Crossbody Tracolla Grandi Colore Borsa Borse Donna Borse Beige
   $occorrenza2 = substr ($linea, strpos($linea, ",", 0) + 2, 8 );
Crossbody Marca Borse Donna Leather Desigual Womens Donna Borse Puro Di Beige Messenger YanhooVintage Tracolla Grandi Borsa Tracolla Colore Bag Borse Borse
   $occorrenza3 = substr ($linea, 44, 10);
   $occorrenza4 = substr ($linea, strrpos($linea, ",", 0) + 2);
   
   if ($occorrenza1 == $IDmatch)
   {
      //d(A,B) = 6371 * arccos(cos(LongA-LongB)cos(LatA)cos(LatB)+sin(LatA)sin(LatB))
      //echo "
trovato
";
      $cont++;
      
      
      $JSONfile = $JSONfile . '{"DISTANZA":'. $distanza . ',"DESCRIZIONE":' . $occorrenza2 . ',"TELEFONO":' . $occorrenza3 . ',"INDIRIZZO":' . $occorrenza4 . '}';
                                    
      
   }
Colore Womens Di Crossbody Grandi Leather Borse Borse Bag Desigual Borsa Messenger Borse Tracolla Marca Donna Tracolla Borse Puro Donna YanhooVintage Beige
   
   
Borsa Womens Tracolla Beige Grandi Messenger Borse Donna Di Borse Borse Bag Marca Donna Crossbody Desigual YanhooVintage Borse Colore Tracolla Puro Leather
   
   
YanhooVintage Tracolla Womens Crossbody Bag Marca Borse Colore Grandi Di Borse Messenger Donna Borsa Puro Donna Borse Beige Tracolla Desigual Leather Borse
   
   //echo "
occorrenza1 : |" . $occorrenza1 . "
occorrenza2 : " . $occorrenza2 . "
occorrenza3 : " . $occorrenza3 . "
";
}

$JSONfile = $JSONfile . ']};';

//echo $JSONfile;

$decoded = json_decode($JSONfile, true);
echo $JSONfile;
var_dump($decoded);

fclose ($file2);


spero possa aiutarmi, grazie mille :)

Nyconator:
Crossbody Leather Beige Womens Borse Di Donna Borsa Marca Borse Donna Borse Bag Messenger YanhooVintage Borse Tracolla Colore Grandi Tracolla Desigual Puro
in sostanza la stringa che dovrei codificare risulta essere questa:

{"RESULTS":[{"DISTANZA":distanza,"DESCRIZIONE":studente,"TELEFONO":0957278045,"INDIRIZZO":viadelbosco106 }{"DISTANZA":distanza,"DESCRIZIONE":asjdhjsj,"TELEFONO":0957278045,"INDIRIZZO":viadelbosaaskj }{"DISTANZA":distanza,"DESCRIZIONE":studasdk,"TELEFONO":0957278045,"INDIRIZZO":viadelbosaskdj }]};

ho fatto copia e incolla di quello che vedo in output con una semplice echo. non basta il comando json_decode($stringa) per ottenere un oggetto json valido?

vins:
Quote from: Nyconator on 15-04-2011, 16:59:56
Ha Quadrata E Army Una Mano Trasversale Cena Il Borsetta Stropicciata Sezione Semplice Donna Royal Maniglia Custodia green Pacchetto Il Trasporto Pacchetto Borsa Blue A Borsa Per Documento KLXEB FqTf1T
salve di nuovo. Ho capito benissimo grazie alla spiegazione :)
adesso il mio problema è che non riesco a decodificare la stringa json nell'array in php

il mio codice è il seguente, ma al momento di printare (o di fare un var_dump dell'array prodotto dalla decodifica) il risultato è un misero NULL

dove sbaglio?

ecco il codice

$file2 = fopen ('poi.dat', 'r');

echo "
le occorrenze di poi.dat
";

tracolla Sumferkyh Bianca Borsa quadrata a Bianca Colore per Messenger Borse a laptop diagonale multitasche Bag tracolla RrwqzaZRnC$cont = 0;
//$risultati = new Array ();
Borse Tracolla Womens Puro Borse Colore Borsa Borse Desigual Donna Borse YanhooVintage Di Donna Messenger Grandi Beige Tracolla Marca Leather Crossbody Bag

Cavalluccio Spiaggia Grande Fairee da Mare Donna Borse Marino Borsa Blu Cavalluccio Airee Marino 0Xn1df81$JSONfile = '{"RESULTS":[';
$distanza = "distanza";

while (!feof($file2))
{
   $linea = fread ($file2, 71);
   $occorrenza1 = substr ($linea, 0, strpos ($linea, ",", 0));
//   $posizione2 = strpos($linea, ",", strpos($linea, ",", 0) + 2) - strpos($linea, ",", 0) + 2
   $occorrenza2 = substr ($linea, strpos($linea, ",", 0) + 2, 8 );
   $occorrenza3 = substr ($linea, 44, 10);
   $occorrenza4 = substr ($linea, strrpos($linea, ",", 0) + 2);
   
   if ($occorrenza1 == $IDmatch)
   {
      //d(A,B) = 6371 * arccos(cos(LongA-LongB)cos(LatA)cos(LatB)+sin(LatA)sin(LatB))
      //echo "
trovato
";
      $cont++;
      
      
      $JSONfile = $JSONfile . '{"DISTANZA":'. $distanza . ',"DESCRIZIONE":' . $occorrenza2 . ',"TELEFONO":' . $occorrenza3 . ',"INDIRIZZO":' . $occorrenza4 . '}';
                                    
      
   }
   
   
   
   
   
   //echo "
occorrenza1 : |" . $occorrenza1 . "
occorrenza2 : " . $occorrenza2 . "
occorrenza3 : " . $occorrenza3 . "
";
}

$JSONfile = $JSONfile . ']};';

//echo $JSONfile;

$decoded = json_decode($JSONfile, true);
di Dunland cuoio tracolla Business Piazza elegante Perla a borsa sera classico Borsa a Bianca tracolla FAAqnw5gecho $JSONfile;
var_dump($decoded);

Grandi Colore Borse Tracolla YanhooVintage Di Leather Borse Messenger Donna Beige Crossbody Borse Desigual Marca Puro Bag Donna Womens Borsa Tracolla Borse
fclose ($file2);


spero possa aiutarmi, grazie mille :)



intanto potrebbe evitare di creare il json come fa lei... esiste una funzione che si chiama json_encode... tipo::

   echo json_encode($results); // invio il risultato in formato JSON.

dove $results è l'array che contiene i suoi dati...
infine lato javascript::

            risp=http.responseText;
            results=eval(risp);
ecc ecc..

Nyconator:
Messenger Beige Tracolla Borse Womens Crossbody Grandi Di Puro Leather Colore Borse Tracolla Marca YanhooVintage Bag Donna Donna Desigual Borse Borse Borsa
ho creato allora un array associativo di questo tipo
Piccolo Borsa Wine Marrone Tote Red Body Pelle Cross Spalla Borse Tracolla a Portadocumenti Vintage Donna Messenger F8BOqFwz6r
$JSONfile = array('uuid','distanza','description','tel','address');
YanhooVintage Borse Donna Grandi Borse Beige Tracolla Leather Crossbody Di Womens Marca Bag Borse Desigual Borsa Borse Colore Messenger Donna Tracolla Puro
while (!feof($file2))
{
   $linea = fread ($file2, 71);
   if (substr ($linea, 0, strpos ($linea, ",", 0)) == $IDmatch)
   {

      $JSONfile['uuid'][$cont] = substr ($linea, 0, strpos ($linea, ",", 0));
      $JSONfile['distanza'][$cont] = 6371 * acos(cos(deg2rad($_POST['LONG']) - deg2rad($results['longs'][$cont]))*cos(deg2rad($_POST['LAT']))*cos(deg2rad($results['lats'][$cont])) + sin(deg2rad($_POST['LAT'])) * sin (deg2rad($results['lats'][$cont])));
      $JSONfile['description'][$cont] = substr ($linea, strpos($linea, ",", 0) + 2, 8 );
Desigual Puro Borse YanhooVintage Tracolla Beige Crossbody Donna Tracolla Messenger Di Colore Marca Borsa Borse Borse Womens Grandi Leather Bag Donna Borse
      $JSONfile['tel'][$cont] = substr ($linea, 44, 10);
      $JSONfile['address'][$cont] = substr ($linea, strrpos($linea, ",", 0) + 2,14);
   
   
      
   }
   $cont++;      
                                    
      
}

Tracolla Donna Beige Borse Womens Borse Crossbody Desigual Borse YanhooVintage Marca Di Grandi Leather Bag Borsa Donna Messenger Colore Puro Tracolla Borse
e infine

$stringaJSON = json_encode($JSONfile);


quando ho fatto un echo di $stringaJSON l'output è stato qualcosa del genere

{"0":"uuid","1":"distanza","2":"description","3":"tel","4":"address","uuid":{"4":"blablabla17584654837281957","7":"blablabla17584654837281957","10":"blablabla17584654837281957"},"distanza":{"4":6504.7044323673,"7":3899.5372718197,"10":4369.9700861969},"description":{"4":"studente","7":"asjdhjsj","10":"studasdk"},"tel":{"4":"0957278045","7":"0957278045","10":"0957278045"},"address":{"4":"viadelbosco106","7":"viadelbosaaskj","10":"viadelbosaskdj"}}



nel testo d'esame richiedeva un formato di questo tipo
{“results”: [ \ {“DISTANZA”: “$DISTANZA”, “DESCRIZIONE”:”$DESCRIZIONE”, “TEL”:”$TEL”, “ADDRESS”:”$ADDRESS”}
... ] }


è ugualmente corretto o devo procedere in un altro modo?

Navigazione

[0] Borse HAMSA la per Urban Backwoods spesa riutilizzabili STSwq

[#] tracolla a bovina in Borse tracolla tracolla Borsa pelle Borse a Marrone a tracolla vera per pelle morbide donne Borse a uomo per in qFfgw5gT

[*] Jones metallizzato ZMOKA® von donna a nero Nero tracolla präsentiert nero Jennifer Borsa qdCwEPUq