Refactoring von Variablen, Wind

This commit is contained in:
Robin Kloppe 2014-06-17 11:59:01 +02:00
parent 376320f186
commit e9d44724f7
2 changed files with 24 additions and 14 deletions

View file

@ -36,10 +36,11 @@ echo '<div class="container">
'?</a> - '.$wetter[0]['rad'].'.</h2>
<div class="toggle_container">
<table class="table table-striped">';
echo $daten->makeTable($wetter, 'day');
echo $daten->makeTable($wetter, 'tag');
echo $daten->makeTable($wetter, 'icon', '<img src="', '" alt="" />');
echo $daten->makeTable($wetter, 'rain', NULL, '%', 'Regenwahrscheinlichkeit');
echo $daten->makeTable($wetter, 'tempHi', NULL, '°C', 'Höchsttemperatur');
echo $daten->makeTable($wetter, 'regen', NULL, '%', 'Regenwahrscheinlichkeit');
echo $daten->makeTable($wetter, 'tempMax', NULL, '°C', 'Höchsttemperatur');
echo $daten->makeTable($wetter, 'wind', NULL, 'km/h', 'Wind');
echo $daten->makeTable($wetter, 'rad', NULL, NULL, 'Fahrradwetter');
?>
@ -48,7 +49,7 @@ echo $daten->makeTable($wetter, 'rad', NULL, NULL, 'Fahrradwetter');
<p><br /></p>
<div class="text-center bg-info"><p><small>Daten via <a href="http://www.wunderground.com/?apiref=5493fcc3357cb244">Wunderground</a>, alle 10 Minuten neu abgerufen.</small></p>
<p>Fahrradwetter hat eine Regenwahrscheinlichkeit unter 40% und Temperaturen zwischen 15 und 24°C.</p>
<p>Fahrradwetter hat eine Regenwahrscheinlichkeit unter 40%, Temperaturen zwischen 15 und 24°C und Wind durchschnittlich langsamer als 35km/h.</p>
<h6>Immer trocken unterwegs mit <a href="http://mainboarder.de">Mainboarder</a> | Code auf <a href="https://github.com/mainboarder/Fahrradwetter">Github</a></h6>
</div>
</div>

View file

@ -14,41 +14,50 @@ class wetter {
function getWeather(){
// JSON holen
$json_string = file_get_contents('api.json');
$parsed_json = json_decode($json_string, true);
$json_gelesen = json_decode($json_string, true);
// Daten aus JSON für die nächsten vier Tage holen
for($i = 0; $i <= 9; $i++){
$rain[$i] = $parsed_json['forecast']['simpleforecast']
$regen[$i] = $json_gelesen['forecast']['simpleforecast']
['forecastday'][$i]['pop'];
$icon[$i] = $parsed_json['forecast']['simpleforecast']
$icon[$i] = $json_gelesen['forecast']['simpleforecast']
['forecastday'][$i]['icon_url'];
$day[$i] = $parsed_json['forecast']['simpleforecast']
$tag[$i] = $json_gelesen['forecast']['simpleforecast']
['forecastday'][$i]['date']['weekday'];
$tempHi[$i] = $parsed_json['forecast']['simpleforecast']
$tempMax[$i] = $json_gelesen['forecast']['simpleforecast']
['forecastday'][$i]['high']['celsius'];
$wind[$i] = $json_gelesen['forecast']['simpleforecast']
['forecastday'][$i]['avewind']['kph'];
// Fahrradwetter? - Grundsätzlich ja.
$fahrrad = '<b>Ja</b>';
// Vielleicht, wenn Regenwahrscheinlichkeit größer als 40% oder
// Temperaturen nicht zwischen 15 und 24°C
if($rain[$i] >= 40 || $tempHi[$i] <= 15 || $tempHi[$i] > 24){
// oder Wind 35 km/h oder schneller
if($regen[$i] >= 40 || $tempMax[$i] <= 15 || $tempMax[$i] > 24
|| $wind[$i] >= 35){
$fahrrad = '<a href="'. WETTERSTATION .'">Vielleicht</a>';
}
// Kein Fahrradwetter, wenn Regenwahrscheinlichkeit über 55%
// oder Temperaturen nicht zwischen 10 und 27°C
if($tempHi[$i] >= 27 || $tempHi[$i] <= 10 || $rain[$i] >= 55){
// oder Wind 40 km/h oder schneller
if($tempMax[$i] >= 27 || $tempMax[$i] <= 10 || $regen[$i] >= 55
|| $wind[$i] >= 40){
$fahrrad = 'Nein';
}
// Array mit den Daten für einen Tag zusammenbauen
$wetter[$i] =
array(
'rain' => $rain[$i],
'regen' => $regen[$i],
'icon' => $icon[$i],
'day' => $day[$i],
'tempHi' => $tempHi[$i],
'tag' => $tag[$i],
'tempMax' => $tempMax[$i],
'rad' => $fahrrad,
'wind' => $wind[$i]
);
// Arrays miteinander verknüpfen