Mine sisusse
Otsi siit
  • Rohkem valikuid...
Otsi tulemusi mis sisaldab...
Otsi tulemusi...

Küsimus

VIP

Tere foorumlased!

 

Vajan jällegi teie abi kuna ise ei mõista teha sellist asja, et ta võtaks emhi kodulehelt ainult Eesti kohta käiva hoiatuse ning näitaks seda mul foorumis esilehel.

 

Võibolla aitab see http://www.emhi.ee/ilma_andmed/xml/hoiatus.php või leiab midagi siit http://www.emhi.ee/index.php?ide=1,359,737.

Ma väga loodan, et keegi oskab ning aitab mind sellega.


b_560_95_1.png

Jaga seda postitust


Postituse link
Share on other sites

13 vastust sellele küsimusele

Soovitatud postitused

  • 0

$xml = simplexml_load_file("http://www.emhi.ee/ilma_andmed/xml/hoiatus.php");

$Eesti_hoiatused = $xml->xpath('//warning[area_est="Eesti"]');
print_r($Eesti_hoiatused);
?>

 

Siit peaksid edasi ise saama :)


Veebiprogrammeerija & kujundaja

Jaga seda postitust


Postituse link
Share on other sites
  • 0
VIP
Author of the topic Postitas
$xml = simplexml_load_file("http://www.emhi.ee/ilma_andmed/xml/hoiatus.php");

$Eesti_hoiatused = $xml->xpath('//warning[area_est="Eesti"]');
print_r($Eesti_hoiatused);
?>

 

Siit peaksid edasi ise saama :)

 

Hei! Tänud, kuid kas seda ei saaks eemaldada? see array ja timestamp jne.

 

Array(
   [0] => SimpleXMLElement Object
       (
           [timestamp] => 1385622930
           [area_est] => Eesti
           [area_eng] => Estonia
           [content_est] => 28.11. puhub lääne- ja loodetuul rannikul 14-18, puhanguti 25, saartel kuni 27 m/s. Sisemaal tugevneb lääne- ja loodetuul puhanguti kuni 17 m/s. 
           [content_eng] => Nov 28 west, northwest wind 14-18, on coastal areas in gusts 25, on islands up to 27 m/s. In inland west, northwest wind is increasing in gusts up to 17 m/s.
       )

)


b_560_95_1.png

Jaga seda postitust


Postituse link
Share on other sites
  • 0

Neid võimalusi on palju. Üks võimalus teha järgnevalt.

 

$massiiv = json_decode( json_encode($Eesti_hoiatused) , 1);

 

echo ''.$massiiv[0]['timestamp'].', '.$massiiv[0]['area_est'].', '.$massiiv[0]['area_eng'].', '.$massiiv[0]['content_est'].', '.$massiiv[0]['content_eng'].' ';

Muudetud liikme paksmatu'i poolt

Jaga seda postitust


Postituse link
Share on other sites
  • 0
VIP
Author of the topic Postitas

Tänud teile!! :) Võib teema lukku panna!


b_560_95_1.png

Jaga seda postitust


Postituse link
Share on other sites
  • 0
Neid võimalusi on palju. Üks võimalus teha järgnevalt.

 

$massiiv = json_decode( json_encode($Eesti_hoiatused) , 1);

 

echo ''.$massiiv[0]['timestamp'].', '.$massiiv[0]['area_est'].', '.$massiiv[0]['area_eng'].', '.$massiiv[0]['content_est'].', '.$massiiv[0]['content_eng'].' ';

 

Pigem:

$xml = simplexml_load_file("http://www.emhi.ee/ilma_andmed/xml/hoiatus.php"); // Laeme XML faili

$Eesti_hoiatused = $xml->xpath('//warning[area_est="Eesti"]'); // Leiame Eesti hoiatused

foreach($Eesti_hoiatused as $Eesti_hoiatus) { // Käime läbi kõik Eestile mõeldud hoiatused
// echo date("d.m.Y H:i", (int)$Eesti_hoiatus->timestamp)." - ".$Eesti_hoiatus->content_est."
"; // See rida kuvab formaadi: kuupäev - eestikeelne tekst
echo $Eesti_hoiatus->timestamp." ".$Eesti_hoiatus->area_est." ".$Eesti_hoiatus->area_eng." ".$Eesti_hoiatus->content_est." ".$Eesti_hoiatus->content_eng."
"; // See rida kuvab kõik ühele reale
}
?>


Veebiprogrammeerija & kujundaja

Jaga seda postitust


Postituse link
Share on other sites
  • 0
Pigem:
$xml = simplexml_load_file("http://www.emhi.ee/ilma_andmed/xml/hoiatus.php"); // Laeme XML faili

$Eesti_hoiatused = $xml->xpath('//warning[area_est="Eesti"]'); // Leiame Eesti hoiatused

foreach($Eesti_hoiatused as $Eesti_hoiatus) { // Käime läbi kõik Eestile mõeldud hoiatused
// echo date("d.m.Y H:i", (int)$Eesti_hoiatus->timestamp)." - ".$Eesti_hoiatus->content_est."
"; // See rida kuvab formaadi: kuupäev - eestikeelne tekst
echo $Eesti_hoiatus->timestamp." ".$Eesti_hoiatus->area_est." ".$Eesti_hoiatus->area_eng." ".$Eesti_hoiatus->content_est." ".$Eesti_hoiatus->content_eng."
"; // See rida kuvab kõik ühele reale
}
?>

Mina ei tee maha mitte kedagi. Väikene tähelepanek ainult.

Sinu foreach on üsna mõttetu sellises olukorras, kui me võtame AINULT ühe massiivi. Seal on ainult üks eesti. Pole vaja luua for loopi ühe array pärast.

 

No et, põhimõtteliselt on foreach mõeldud siis, kui neid on mitmeid. Aga seal emhi lingil on üks "eesti" nimega area.

Pigem juba siis index nurksulgudesse ning siis elemendi nimi.

Tegelikuses sel pole vahet, kuidas pidi luua. Programmeerimises on väga palju võimalusi lahenduse leidmiseks ning nende võimaluste arv, kuidas luua, on kahest kaugel.

Muudetud liikme paksmatu'i poolt

Jaga seda postitust


Postituse link
Share on other sites
  • 0
Mina ei tee maha mitte kedagi. Väikene tähelepanek ainult.

Sinu FOR on üsna mõttetu sellises olukorras, kui me võtame AINULT ühe massiivi. Seal on ainult üks eesti. Pole vaja luua for loopi ühe array pärast.

Pigem juba siis index ning siis elemendi nimi.

Tegelikuses sel pole vahet, kuidas pidi luua. Programmeerimises no neid väga palju võimalusi, ning nende võimaluste arv, kuidas luua, on kahest kaugel.

 

Ma lähtusin sellest, et Eesti kohta võib mitu hoiatust olla - ma ei tea, kas see reaalselt võimalik, aga igaks juhuks lisasin selle. Samuti ei proovi kedagi maha teha. :)


Veebiprogrammeerija & kujundaja

Jaga seda postitust


Postituse link
Share on other sites
  • 0
VIP
Author of the topic Postitas

Eestile tavaliselt mitut ei ole, kuid nüüd olemas ja kui läheb vaja saab kasutada.


b_560_95_1.png

Jaga seda postitust


Postituse link
Share on other sites
  • 0
VIP
Author of the topic Postitas (muudetud)

Okei mul probleem jällegi.

 

$xml = simplexml_load_file("http://www.emhi.ee/ilma_andmed/xml/observations.php");

$Observatooriumi_andmed = $xml->xpath('//station[name="Tallinn (Harku)"]');

$massiiv = json_decode( json_encode($Observatooriumi_andmed) ,1);

$Observatooriumi_andmed = $xml->xpath('//station[name="Jõhvi"]');

$massiiv = json_decode( json_encode($Observatooriumi_andmed) ,1);

$Observatooriumi_andmed = $xml->xpath('//station[name="Jõgeva"]');

$massiiv = json_decode( json_encode($Observatooriumi_andmed) ,1);

$Observatooriumi_andmed = $xml->xpath('//station[name="Tartu (Tõravere)"]');

$massiiv = json_decode( json_encode($Observatooriumi_andmed) ,1);

$Observatooriumi_andmed = $xml->xpath('//station[name="Pärnu (Sauga)"]');

$massiiv = json_decode( json_encode($Observatooriumi_andmed) ,1);

$Observatooriumi_andmed = $xml->xpath('//station[name="Haapsalu"]');

$massiiv = json_decode( json_encode($Observatooriumi_andmed) ,1);

echo '</pre><table border="1">

Jaam
Tuule suund
Tuule kiirus m/s
Tuule kiirus 1t maks. m/s
Õhutemperatuur °C
Suhteline niiskus %
Kastepunkt °C
Sadas vett 1t sum.
(mm) sademed


Tallinn
'.$massiiv[0]['winddirection'].'
'.$massiiv[0]['windspeed'].'
'.$massiiv[0]['windspeedmax'].'
'.$massiiv[0]['airtemperature'].'
'.$massiiv[0]['relativehumidity'].'
'.$massiiv[0]['airpressure'].'
'.$massiiv[0]['precipitations'].'


Tartu
'.$massiiv[0]['winddirection'].'
'.$massiiv[0]['windspeed'].'
'.$massiiv[0]['windspeedmax'].'
'.$massiiv[0]['airtemperature'].'
'.$massiiv[0]['relativehumidity'].'
'.$massiiv[0]['airpressure'].'
'.$massiiv[0]['precipitations'].'


Haapsalu
'.$massiiv[0]['winddirection'].'
'.$massiiv[0]['windspeed'].'
'.$massiiv[0]['windspeedmax'].'
'.$massiiv[0]['airtemperature'].'
'.$massiiv[0]['relativehumidity'].'
'.$massiiv[0]['airpressure'].'
'.$massiiv[0]['precipitations'].'


Pärnu
'.$massiiv[0]['winddirection'].'
'.$massiiv[0]['windspeed'].'
'.$massiiv[0]['windspeedmax'].'
'.$massiiv[0]['airtemperature'].'
'.$massiiv[0]['relativehumidity'].'
'.$massiiv[0]['airpressure'].'
'.$massiiv[0]['precipitations'].'


Jõhvi
'.$massiiv[0]['winddirection'].'
'.$massiiv[0]['windspeed'].'
'.$massiiv[0]['windspeedmax'].'
'.$massiiv[0]['airtemperature'].'
'.$massiiv[0]['relativehumidity'].'
'.$massiiv[0]['airpressure'].' 
'.$massiiv[0]['precipitations'].'


Jõgeva
'.$massiiv[0]['winddirection'].'
'.$massiiv[0]['windspeed'].'
'.$massiiv[0]['windspeedmax'].'
'.$massiiv[0]['airtemperature'].'
'.$massiiv[0]['relativehumidity'].'
'.$massiiv[0]['airpressure'].'
'.$massiiv[0]['precipitations'].'
</table>'; <br>?><b

 

Selline kood ning iga jaam peaks näitama oma andmeid, kuid praegu näitab kõikides lahtrites ainult ühe jaama andmeid. Proovisin ka neid 0-e muuta ja numbreid.

Muudetud liikme KaarelVDesigns'i poolt

b_560_95_1.png

Jaga seda postitust


Postituse link
Share on other sites
  • 0
Külaline misterx
Okei mul probleem jällegi.

 

$xml = simplexml_load_file("http://www.emhi.ee/ilma_andmed/xml/observations.php");

$Observatooriumi_andmed = $xml->xpath('//station[name="Tallinn (Harku)"]');

$massiiv = json_decode( json_encode($Observatooriumi_andmed) ,1);

$Observatooriumi_andmed = $xml->xpath('//station[name="Jõhvi"]');

$massiiv = json_decode( json_encode($Observatooriumi_andmed) ,1);

$Observatooriumi_andmed = $xml->xpath('//station[name="Jõgeva"]');

$massiiv = json_decode( json_encode($Observatooriumi_andmed) ,1);

$Observatooriumi_andmed = $xml->xpath('//station[name="Tartu (Tõravere)"]');

$massiiv = json_decode( json_encode($Observatooriumi_andmed) ,1);

$Observatooriumi_andmed = $xml->xpath('//station[name="Pärnu (Sauga)"]');

$massiiv = json_decode( json_encode($Observatooriumi_andmed) ,1);

$Observatooriumi_andmed = $xml->xpath('//station[name="Haapsalu"]');

$massiiv = json_decode( json_encode($Observatooriumi_andmed) ,1);

echo '</pre><table border="1">

Jaam
Tuule suund
Tuule kiirus m/s
Tuule kiirus 1t maks. m/s
Õhutemperatuur °C
Suhteline niiskus %
Kastepunkt °C
Sadas vett 1t sum.
(mm) sademed


Tallinn
'.$massiiv[0]['winddirection'].'
'.$massiiv[0]['windspeed'].'
'.$massiiv[0]['windspeedmax'].'
'.$massiiv[0]['airtemperature'].'
'.$massiiv[0]['relativehumidity'].'
'.$massiiv[0]['airpressure'].'
'.$massiiv[0]['precipitations'].'


Tartu
'.$massiiv[0]['winddirection'].'
'.$massiiv[0]['windspeed'].'
'.$massiiv[0]['windspeedmax'].'
'.$massiiv[0]['airtemperature'].'
'.$massiiv[0]['relativehumidity'].'
'.$massiiv[0]['airpressure'].'
'.$massiiv[0]['precipitations'].'


Haapsalu
'.$massiiv[0]['winddirection'].'
'.$massiiv[0]['windspeed'].'
'.$massiiv[0]['windspeedmax'].'
'.$massiiv[0]['airtemperature'].'
'.$massiiv[0]['relativehumidity'].'
'.$massiiv[0]['airpressure'].'
'.$massiiv[0]['precipitations'].'


Pärnu
'.$massiiv[0]['winddirection'].'
'.$massiiv[0]['windspeed'].'
'.$massiiv[0]['windspeedmax'].'
'.$massiiv[0]['airtemperature'].'
'.$massiiv[0]['relativehumidity'].'
'.$massiiv[0]['airpressure'].'
'.$massiiv[0]['precipitations'].'


Jõhvi
'.$massiiv[0]['winddirection'].'
'.$massiiv[0]['windspeed'].'
'.$massiiv[0]['windspeedmax'].'
'.$massiiv[0]['airtemperature'].'
'.$massiiv[0]['relativehumidity'].'
'.$massiiv[0]['airpressure'].' 
'.$massiiv[0]['precipitations'].'


Jõgeva
'.$massiiv[0]['winddirection'].'
'.$massiiv[0]['windspeed'].'
'.$massiiv[0]['windspeedmax'].'
'.$massiiv[0]['airtemperature'].'
'.$massiiv[0]['relativehumidity'].'
'.$massiiv[0]['airpressure'].'
'.$massiiv[0]['precipitations'].'
</table>'; <br>?><b

 

Selline kood ning iga jaam peaks näitama oma andmeid, kuid praegu näitab kõikides lahtrites ainult ühe jaama andmeid. Proovisin ka neid 0-e muuta ja numbreid.

 

Saad sa aru ka, mida see kood tegeme peaks?

 

Sul on kaks muutujat, mida mõlemat kirjutad mitu korda üle ja hiljem üritad sama massiivi samalt väljalt erinevaid väärtusi lugeda. Ja milleks on hea json_decode(json_encode($foobar))?

Jaga seda postitust


Postituse link
Share on other sites
  • 0
VIP
Author of the topic Postitas

Tegid praegu kasutu postituse millest ei saa midagi aru. Teises failis mul hoiatused töötavad ilusti.


b_560_95_1.png

Jaga seda postitust


Postituse link
Share on other sites
  • 0
Külaline misterx
Tegid praegu kasutu postituse millest ei saa midagi aru. Teises failis mul hoiatused töötavad ilusti.

 

Siis vaata, mis sul teises failis teist moodi on. Saad sa aru, kui sa omistad muutujale väärtuse, siis sama muutuja eelmine väärtus kirjutatakse üle.

Kui sul selline kood:

$a = 1;
$a = 2;
echo $a;
echo $a;

Siis väljastatakse 22, mitte 12, kuna muutuja $a väärtus kirjutatakse üle. Hiljem teed sa sama asja teist pidi: mitu korda järjest massiivi samalt kohalt väärtuse, ilma sellele vahepeal uut väärtust omistamata ja loodad, et see oleks vahepeal muutunud.

Jaga seda postitust


Postituse link
Share on other sites
  • 0
VIP
Author of the topic Postitas

Tänud! Mu aju võttis lõpuks :D.


b_560_95_1.png

Jaga seda postitust


Postituse link
Share on other sites

Kommentaari lisamiseks loo konto või logi sisse

Kommenteerimiseks peate olema liige

Loo konto

Liituge meie kommuuni uue kontoga. See on lihtne!

Loo uus konto

Logi sisse

On juba konto? Logi sisse siit.

Logi sisse nüüd

×
×
  • Loo uus...

Oluline informatsioon

Selle veebisaidi paremaks muutmiseks oleme teie seadmesse paigutanud küpsised . Võite kohandada oma küpsiste seadeid , vastasel juhul eeldame, et te olete küpsiste kasutamisega nõus kui jätkate veebisaidil sirvimist.. Palun lugege läbi Kasutustingimused ja Privaatsuspoliitika.