• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Datum von xxx bis heute auflisten

webana

Mitglied
Hallo,

bin gerade dabei nur für mich und zu statistischen Zwecken eine Diesel Preis Datenbank aufzubauen.

Es werden von 3 Tankstellen alle 30 Minuten die Diesel Preise abgefragt und in der Datenbank gespeichert (Funktioniert).

Jetzt hab ich pro Tag und Tankstelle 47 Preise (0:00-23:30).

Jetzt möchte ich von jedem Tag der niedrigste und höchste Wert ausgeben.

Wie mache ich das jetzt php die tage im Format jjjj-mm-tt ab dem 2015-01-26 bis jeweils "Heute" (Nächsten Monat ist auch irgendwann Heute) auflistet.

Gruß Alex
 
Werbung:
Code:
SELECT * FROM table WHERE date BETWEEN 'YEAR-month-DAY' AND 'YEAR-month-DAY'
In etwa so? Bin mir grad nicht ganz sicher.
 
Code:
SELECT * FROM table WHERE date BETWEEN 'YEAR-month-DAY' AND 'YEAR-month-DAY'
In etwa so? Bin mir grad nicht ganz sicher.

Da listet er aber alle Daten von den Tagen auf ...

Ich brauche eher was das mir

2015-01-26
2015-02-27
2015-03-28

ausgibt, das ich dann eine abfrage

Code:
SELECT  id, DATE_FORMAT(Datum,'%d.%m.%Y %H:%i') AS Datum, xxx FROM tankstelle WHERE Datum LIKE '2015-01-27%' ORDER BY Preis DESC LIMIT 1

machen kann ...
 
Werbung:
Wenn ich dich richtig verstehe, musst du nur mit "SELECT MIN(preis), MAX(preis), datum" die Daten laden und beim Where prüfen ob das Datum größer als x ist.
 
Mal weg von sql, ich brauch ja erst mal was auf php das die Tage auflistet.

Beispiel:

Ausgabe 2015-01-26
Dann +1 Tag ...
+ 1 Tag ...
wenn JJJJ-MM-TT == Heute Ausgabe und Stoppen.

Mir schwirrt gerade was im Kopf mit date() und + (60*60*24) und einer Schleife rum ...

Problem, ich weis nicht wonach ich Google muss, da mir die ganzen fach begriffe noch unbekannt sind. Finde meistens nur diverse online tools.

Bis jetzt schauts so aus, hoffe du weist was ich meine:

PHP:
<?php
  $start = '2015-01-26';
  $end = date('Y-m-d');
 
  for( ??? ) {
    echo date ('Y-m-d' , strtotime("+1 days"));
  }
?>

Gruß Alex
 
Zuletzt bearbeitet:
Mal weg von sql, ich brauch ja erst mal was auf php das die Tage auflistet.

Beispiel:

Ausgabe 2015-01-26
Dann +1 Tag ...
+ 1 Tag ...
wenn JJJJ-MM-TT == Heute Ausgabe und Stoppen.

Mir schwirrt gerade was im Kopf mit date() und + (60*60*24) und einer Schleife rum ...

Problem, ich weis nicht wonach ich Google muss, da mir die ganzen fach begriffe noch unbekannt sind. Finde meistens nur diverse online tools.

Gruß Alex

Entweder reden wir hier aneinander vorbei oder ich verstehe deine Fragestellung einfach nicht richtig. Warum willst du die Ausgabe in PHP stoppen, wenn du in deinem SQL-Statement schon definieren kannst bis zu welchem Datum du deine Daten ausgegeben haben möchtest? Siehe Vorposter.
 
Werbung:
Hallo nookie,

habe gerade noch ein code gepostet, vielleicht hilft dir das weiter das du weist was ich meine:

PHP:
<?php
  $start = '2015-01-26';
  $end = date('Y-m-d');
  for( ??? ) {
    echo date ('Y-m-d' , strtotime("+1 days"));
  }
?>

bzw.


PHP:
<?php
  $start = '2015-01-26';
  $end = date('Y-m-d');
 
  for( $i=0; $day < $end; $i++) {
    $day = date ('Y-m-d' , strtotime("+$i days"));
    echo $day."<br />\n";
  }
?>

Alex
 
PHP:
<?php
$start="2015-01-26";
$end= date('Y-m-d');

while($start <= $end) {
    echo $start . "<br />";
    $start = date("Y-m-d", strtotime($start . "+1 day"));
}
?>
So?

Edit: Du hast es doch grade selbst gelöst. :D
 
ich habe hier sonst auch noch eine Lösung

PHP:
$date1 = new DateTime("now");
$date2 = new DateTime('2014-01-26');
$interval = $date2->diff($date1);

echo $date2->format('Y-m-d');
echo "<br />";
for($i=0; $i <= ($interval->days-1); $i++) {
   $date2->modify('+1 day');
   echo $date2->format('Y-m-d');
   echo "<br />";
}
 
Werbung:
ich habe hier sonst auch noch eine Lösung

PHP:
$date1 = new DateTime("now");
$date2 = new DateTime('2014-01-26');
$interval = $date2->diff($date1);

echo $date2->format('Y-m-d');
echo "<br />";
for($i=0; $i <= ($interval->days-1); $i++) {
   $date2->modify('+1 day');
   echo $date2->format('Y-m-d');
   echo "<br />";
}
Mit einem DateTime-Objekt ist das natürlich deutlich schöner. :p
 
Zurück
Oben