![]() |
PHP Date Funktion
Hallo Zusammen,
folgende Frage: Ich lasse per PHP Funktion die nächsten x Tage ausgeben (Hier im Beispiel 6). Jetzt soll zusätzlich dazu eine abfrage gemacht werden, die folgendes macht: Gebe zu jedem ermittelten Tag, alle Datensätze aus Tabelle yx aus, wo das Feld 'datum' dem ermittelten Datum entspricht. Die ermittelten Datensäte sollen dann unter das Datum geschrieben werden. Beispiel: 29.10.2009 Datensatz1 Datensatz8898 30.10.2009 Datensatz98 31.10.2009 Datensatz675 01.10.2009 Datensatz12 Datensatz76 02.10.2009 Datensatz1232 03.10.2009 (hier ist mal kein Datensatz, auch das muss gehen. Es soll dann einfach leer bleiben!)
Code:
<?php
$heute = time(); echo 'Die nächsten 6 Tage: '; for($i=0; $i<6; $i++) { echo '<li class="group">' .date('d.m.Y',mktime(0,0,0, date('m',$heute), date('d',$heute)+$i, date('Y',$heute))).''; } ?> |
Re: PHP Date Funktion
Was meinst Du denn mit Datensatz? Geht es hier um MySQL?
|
Re: PHP Date Funktion
Und wo ist jetzt das Problem?
Btw.: Ich ätte es ja so in etwa gemacht:
Code:
date('d.m.Y', time() + $i * 3600 * 24);
|
Re: PHP Date Funktion
ups! Sry das habe ich ganz vergessen zu erwähnen, Im Eifer des Gefechts!
JA es geht um MySql! |
Re: PHP Date Funktion
Dann ist das aber die falsche Sparte. Du brauchst also eine Abfrage der Datensätze der nächsten 6 Tage, hab ich das richtig verstanden? Mal aus dem Hut:
SQL-Code:
SELECT <Feldliste>
FROM Tabelle WHERE Datumsfeld BETWEEN DATE_ADD(CURRENT_DATE,INTERVAL 1 DAY) AND DATE_ADD(CURRENT_DATE, INTERVAL 6 DAY) |
Re: PHP Date Funktion
okay, dass schaut gut aus!
Aber wie kann ich es jetzt grupieren so wie in meinem Beispiel? Hast du eine Idee? |
Re: PHP Date Funktion
Gruppierung ohne Aggregatfunktion macht ja keinen wirklichen Sinn (obwohl MySQL das IIRC sogar unterstützt). Ich würde das wahrscheinlich eher auf der PHP-Seite lösen.
|
Re: PHP Date Funktion
kannst du mir da mal ein beispiel zeigen? Bitte!
|
Re: PHP Date Funktion
Lieber nicht, meine PHP-Kenntnisse sind einfach zu eingerostet. Aber Du musst doch lediglich das morgige Datum ermitteln und mit dem Datum aus der DB vergleichen. Wenn sich das DB-Datum ändert, setzt Du Dein gemerktes Datum auf das DB-Datum und gibst es aus. Dabei können zwar noch Lücken entstehen, aber das sollte ja auch keine große Sache sein, dann zählst Du das Datum halt so lange hoch und gibst es aus, bis es dem aus der DB entspricht. Für diese Vorgehensweise ist allerdings eine Sortierung in der Abfrage nötig, die ich oben vergessen habe.
[edit] Einfachere, aber unschöne Variante: Per PHP das Datum ermitteln und je Tag eine Abfrage absetzen. Aber das würde ich nur dann tun, wenn alles andere versagt. [/edit] |
Re: PHP Date Funktion
so sieht der php code aus:
Die Daten werden erfolgreich und richtig berechnet. Nur steht noch nichts aus der DB drin! Habt Ihr eine IDEE??
Code:
<?php
$j = date('Y'); $m = date('m'); $d = date('d'); echo 'Die nächsten 6 Tage: '; for($i=0; $i<6; $i++) { echo '<li class="group">' .$morgen = date('d.m.Y',mktime(0,0,0,$m,$d+$i,$j)).'</div>'; $result = mysql_query("SELECT * FROM menue where datum = '$morgen'"); while($row = mysql_fetch_array($result)) { echo "[*]"; echo "<a href=\"menue.php?id=". $row['id'] ."\">". $row['name'] ."</a>"; echo ""; } } ?> |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz