Kirjoittaja Aihe: Sääasema linuxille  (Luettu 25667 kertaa)

0 jäsentä ja 2 Vierasta katselee tätä aihetta.

Poissa Jippe

  • Mielipidepresidentti
  • ****
  • Viestejä: 117
    • Sääasema - Orivesi
Vs: Sääasema linuxille
« Vastaus #60 : Keskiviikko, 22.12.2010, 22:32 »
Siis php:llä luetaan mysqlia ja tulostetaan sivulle?
(Silloin kun 286 oli kova kone, visual basic ja pascal uusia juttuja, olin ajan hermolla..  :o )

Poissa weatherc

  • Ylläpito
  • *****
  • Viestejä: 8957
Vs: Sääasema linuxille
« Vastaus #61 : Keskiviikko, 22.12.2010, 22:46 »
Lainaus
Siis php:llä luetaan mysqlia ja tulostetaan sivulle?

Jeps. :)
Esimerkkinä jos haluat stand-alone-raportin, luet php:llä sql:än ja tulostat noaaraportin näköisen taulukon <pre>-tagin avulla.
Tai tallennat cachehen .txt-filun samoilla datoilla. .txt-filulla on se hyöty että sen voi sitten aikatarkistaa ettei tehdä uutta muutoin kun jos se on liian vanha, tai kerran päivässä tai jotain.
En ole koskaan kokeillut sitä tehdä mutta ainakin teoriassa pitäisi toimia.

Poissa Jippe

  • Mielipidepresidentti
  • ****
  • Viestejä: 117
    • Sääasema - Orivesi
Vs: Sääasema linuxille
« Vastaus #62 : Lauantai, 25.12.2010, 19:40 »
Koodia: [Valitse]
$Temp = sprintf("%01.1f", CtoF($Temp, $temp_prec));Miten tuosta rivistä poistetaan funktio CtoF? Se muuttaa celciukset fahrenhaiteiksi..

Työn alla on parse_clientraw.php v 2.0 -skripti, Copyright (C) 2005 Anole Computer Services, LLC
Yritän houkutella sitä puhumaan metreissä  ::)

Poissa weatherc

  • Ylläpito
  • *****
  • Viestejä: 8957
Vs: Sääasema linuxille
« Vastaus #63 : Lauantai, 25.12.2010, 20:00 »
Koodia: [Valitse]
$Temp = sprintf("%01.1f", $Temp);
 ;D

Poissa Jippe

  • Mielipidepresidentti
  • ****
  • Viestejä: 117
    • Sääasema - Orivesi
Vs: Sääasema linuxille
« Vastaus #64 : Lauantai, 25.12.2010, 20:09 »
No prkl.  :D
Jos haluan säilyttää muuttujan $temp_prec, joka määrittää desimaalien määrän..
Koodia: [Valitse]
$Temp = sprintf("%01.1f", $Temp, $temp_prec);Vai pitääkö sekaan heittää lisää sulkuja?  :o

E: tarkemmin ajatellen eihän sillä mitään tee kun laskut jää pois :P

Poissa weatherc

  • Ylläpito
  • *****
  • Viestejä: 8957
Vs: Sääasema linuxille
« Vastaus #65 : Lauantai, 25.12.2010, 20:21 »
Lainaus
E: tarkemmin ajatellen eihän sillä mitään tee kun laskut jää pois

Aivan  ;D
sprintf:ssä saa lisää desimaaleja muistaakseni muuttamalla 1:sen esim. 2:ksi. sprintf näyttää aina halutun määrän desimaaleja, vaikka arvo olisi tasan, kuten 2.0 mitä ei taas round() tee.

Se mitä php:ssä on se tärkeä tuossa on se että sulkujen määrä täsmää ettei jää mitään "auki", esim tämä on väärin:
Koodia: [Valitse]
$Temp = sprintf("%01.1f", $Temp));

Poissa Jippe

  • Mielipidepresidentti
  • ****
  • Viestejä: 117
    • Sääasema - Orivesi
Vs: Sääasema linuxille
« Vastaus #66 : Lauantai, 25.12.2010, 20:49 »
Alkuperäinen ensin ja muutettu perässä. Voiko toimia? Mulla näyttää omat sadetiedot nollaa, niin on huono testata.
Rivit joiden lopussa on '* 60', '* 60' piti poistaa ettei tulisi erroria.

Koodia: [Valitse]
// RAIN

// current

(float)$RainToday = "$data[7]";

$RainToday = sprintf("%01.2f", MMtoINCHES($RainToday, $rain_prec));


(float)$RainMonth = "$data[8]";

$RainMonth = sprintf("%01.2f", MMtoINCHES($RainMonth, $rain_prec));


(float)$RainYear = "$data[9]";

$RainYear = sprintf("%01.2f", MMtoINCHES($RainYear, $rain_prec));



(float)$RainRateCurrent = "$data[10]";

$RainRateCurrent = MMtoINCHES($RainRateCurrent, 6);

$RainRateCurrent = sprintf("%01.2f", $RainRateCurrent * 60);

Koodia: [Valitse]
// RAIN

// current

(float)$RainToday = "$data[7]";

$RainToday = sprintf("%01.2f", $RainToday);


(float)$RainMonth = "$data[8]";

$RainMonth = sprintf("%01.2f", $RainMonth);


(float)$RainYear = "$data[9]";

$RainYear = sprintf("%01.2f", $RainYear);


(float)$RainRateCurrent = "$data[10]";

$RainRateCurrent = sprintf("%01.2f", $RainRateCurrent);

Poissa weatherc

  • Ylläpito
  • *****
  • Viestejä: 8957
Vs: Sääasema linuxille
« Vastaus #67 : Lauantai, 25.12.2010, 21:04 »
Ihan ok:lta näyttää. Jos tulos näyttää samaa mitä oma asemasi niin silloihan se toimii, jollei ota huomioon mahdollisia laskuja jos arvo on nollassa.
Nuo voi vieleä tiivistääkin:

Koodia: [Valitse]
(float)$RainToday = sprintf("%01.2f", $data[7]);
(float)$RainMonth = sprintf("%01.2f", $data[8]);
(float)$RainYear = sprintf("%01.2f", $data[9]);
(float)$RainRateCurrent = sprintf("%01.2f", $data[10]);

 ;D

Poissa Jippe

  • Mielipidepresidentti
  • ****
  • Viestejä: 117
    • Sääasema - Orivesi
Vs: Sääasema linuxille
« Vastaus #68 : Lauantai, 25.12.2010, 21:43 »
Nyt tämä alkaa hahmottua, kiitos! Tiivistys selkeyttää ja vähentää rivejä. Tuulirivit joissa solmut muutetaan m/s, täytyy jättää ennalleen.
Koodia: [Valitse]
$Date = $data[74];Tulostaa päiväyksen muodossa 25/12/2010, miten kauttaviivat saa muutettua pisteiksi? Muutin jo kaikkialle muualle päiväyksen muotoon 25.12.2010, tuo rivi jäi kummittelemaan  8)

http://www.valimo.info/weather/test.php

Poissa weatherc

  • Ylläpito
  • *****
  • Viestejä: 8957
Vs: Sääasema linuxille
« Vastaus #69 : Lauantai, 25.12.2010, 22:09 »
Simppeli str_replace:

$Date = str_replace("/",".",$data[74]);

 ;D