Hallo,
Es geht um folgende SQL Abfrage:
Ausgabe z.B.:
Die oben genannte Abfrage bringt ja nur die Wetterdaten der letzten 3 Tage. Ich will nun aber mehrere Abfragen auf der Seite definieren per Radio o.ä.
Wo muss ich nun den Wert definieren? Bei der SQL Abfrage, oder im PHP Script?
Hier der komplette PHP Abfrage Script:
Ich danke euch für eure Antworten
Es geht um folgende SQL Abfrage:
Code:
$query = "
SELECT YEAR(datetime) AS dy, MONTH(datetime) -1 AS dm, DAY(datetime) AS dd,
HOUR(datetime) AS th, MINUTE(datetime) AS tm, temperatur, feuchte, druck, wind, windboen, taupunkt, regen
FROM wettertabelle
WHERE datetime >= (SELECT datetime - INTERVAL 3 DAY AS endDate FROM wettertabelle ORDER BY datetime DESC LIMIT 1)
ORDER BY datetime
Ausgabe z.B.:
Code:
{date: new Date(2015,6,28,23,59),t:15.1,f:74.0,d:1012.8,w:0.3,wb:4.3,tp:10.5,r:0.2,rs:0.2}
Die oben genannte Abfrage bringt ja nur die Wetterdaten der letzten 3 Tage. Ich will nun aber mehrere Abfragen auf der Seite definieren per Radio o.ä.
Code:
<INPUT TYPE="RADIO" NAME="Letzten3Tage" VALUE="S">Letzten 3 Tage<BR>
Wo muss ich nun den Wert definieren? Bei der SQL Abfrage, oder im PHP Script?
Hier der komplette PHP Abfrage Script:
PHP:
<?php
//GET Parameter "datum" in variable $datum speichern
$datum = $_GET["datum"];
//Inhalt der Variable $datum in ein Timestamp überführen
$datum = strtotime($datum);
//Timestamp in beliebiges Format überführen
$datum = date("Y-m-d",$datum);
//db verbindung
mysql_connect("SERVER", "BENUTZER","PASSWORT");
mysql_select_db("DATENBANK");
//db abfrage
$query = "
SELECT YEAR(datetime) AS dy, MONTH(datetime) -1 AS dm, DAY(datetime) AS dd,
HOUR(datetime) AS th, MINUTE(datetime) AS tm, temperatur, feuchte, druck, wind, windboen, taupunkt, regen
FROM wettertabelle
WHERE datetime >= (SELECT datetime - INTERVAL 3 DAY AS endDate FROM wettertabelle ORDER BY datetime DESC LIMIT 1)
ORDER BY datetime
";
//variables for temp High and Low
$temperaturHigh = -9999;
$temperaturLow = 9999;
$taupunktHigh = -9999;
$taupunktLow = 9999;
$feuchteHigh = -9999;
$feuchteLow = 9999;
$druckHigh = -9999;
$druckLow = 9999;
$windHigh = -9999;
$windboenHigh = -9999;
// NEU: Variable definieren
$zeilenzaehler = 1;
//ausgabe der zeilen
$result = mysql_query($query)
OR die("Error: $query <br>".mysql_error());
while($row = mysql_fetch_array($result))
{
//max searcher
if ($row['temperatur'] > $temperaturHigh)
{
$temperaturHigh = $row['temperatur'];
$temperaturHighDate = "new Date(".$row['dy'].",".$row['dm'].",".$row['dd'].",".$row['th'].",".$row['tm'].")";
}
elseif ($row['taupunkt'] > $taupunktHigh)
{
$taupunktHigh = $row['taupunkt'];
$taupunktHighDate = "new Date(".$row['dy'].",".$row['dm'].",".$row['dd'].",".$row['th'].",".$row['tm'].")";
}
elseif ($row['feuchte'] > $feuchteHigh)
{
$feuchteHigh = $row['feuchte'];
$feuchteHighDate = "new Date(".$row['dy'].",".$row['dm'].",".$row['dd'].",".$row['th'].",".$row['tm'].")";
}
elseif ($row['druck'] > $druckHigh)
{
$druckHigh = $row['druck'];
$druckHighDate = "new Date(".$row['dy'].",".$row['dm'].",".$row['dd'].",".$row['th'].",".$row['tm'].")";
}
elseif ($row['wind'] > $windHigh)
{
$windHigh = $row['wind'];
$windHighDate = "new Date(".$row['dy'].",".$row['dm'].",".$row['dd'].",".$row['th'].",".$row['tm'].")";
}
elseif ($row['windboen'] > $windboenHigh)
{
$windboenHigh = $row['windboen'];
$windboenHighDate = "new Date(".$row['dy'].",".$row['dm'].",".$row['dd'].",".$row['th'].",".$row['tm'].")";
}
//min searcher
if ($row['temperatur'] < $temperaturLow)
{
$temperaturLow = $row['temperatur'];
$temperaturLowDate = "new Date(".$row['dy'].",".$row['dm'].",".$row['dd'].",".$row['th'].",".$row['tm'].")";
}
elseif ($row['taupunkt'] < $taupunktLow)
{
$taupunktLow = $row['taupunkt'];
$taupunktLowDate = "new Date(".$row['dy'].",".$row['dm'].",".$row['dd'].",".$row['th'].",".$row['tm'].")";
}
elseif ($row['feuchte'] < $feuchteLow)
{
$feuchteLow = $row['feuchte'];
$feuchteLowDate = "new Date(".$row['dy'].",".$row['dm'].",".$row['dd'].",".$row['th'].",".$row['tm'].")";
}
elseif ($row['druck'] < $druckLow)
{
$druckLow = $row['druck'];
$druckLowDate = "new Date(".$row['dy'].",".$row['dm'].",".$row['dd'].",".$row['th'].",".$row['tm'].")";
}
//eine neue Variable "$regensumme" erstellen, und die spalte "rain" dazu addieren.
$regensumme = $regensumme + $row['regen'];
//in einer zusätzlichen Variable kann das Resulat für die Ausgabe auch gerundet werden. (Nicht direkt die $regensumme runden)
$regensummeGerundet = round($regensumme, 3);
// echo
if ($zeilenzaehler != 1)
{
echo ",";
}
echo "{date: new Date(".$row['dy'].",".$row['dm'].",".$row['dd'].",".$row['th'].",".$row['tm']."),t:".$row['temperatur'].",f:".$row['feuchte'].",d:".$row['druck'].",w:".$row['wind'].",wb:".$row['windboen'].",tp:".$row['taupunkt'].",r:".$row['regen'].",rs:".$regensummeGerundet."}";
//Variable jetzt auf 2
$zeilenzaehler = 2;
};?>
Ich danke euch für eure Antworten