PHP die folgenden 12 Tage aus Datenbank ausgeben
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
aktuelle jahr
code
date
datenbank
dreher
entsprechender stelle
epoche
fehler
form
genannten code
heutigen tag
komma
korrekte code
monat
sekunde
tag
tip
url
vergangenen sekunden
zeit
-
Hey Leute. Bin auf der Suche nach einer Methode, wie man die folgenden 12 sowie den heutigen Tag aus einer Datenbank ausgen kann. bei den Zeiten in der Datenbank handelt es sich um timestamp.
Stehe hierbei or einigen Problemen, da ich mich leider bisher noch nie mt irgendeiner form von PHP-Kalendern beschäftigt habe.
Würde mich über Tipps und Tuts freuen
Daniel :-) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Mal als kleiner "Denkanstoß":
<?php $time = time(); $spd = 84600; // 24h in Sekunden $days = 12; // Tage $then = spd*$days; echo 'Heute ist ' . date('l jS F Y',$time) . '</br>'; echo 'In '.$days.' Tagen ist ' . date('l jS F Y',$then) . '</br>'; ?>
-
"wie man die folgenden 12 sowie den heutigen Tag aus einer Datenbank ausgen kann. bei den Zeiten in der Datenbank handelt es sich um timestamp. "
Timestamps geben die vergangenen Sekunden seit Einführung der Unix Zeit an (1978), dementsprechend ist ein Tag 86400 Sekunden, also lässt du einfach die Datenbank alles zurückschmeißen was kleiner time()+86400 ist und größer time(), respektive wenn du den Tag von Anfang an willst kannst du auch auf größer mktime(date('xyz', time())) prüfen :D Den Syntax von mktime hab ich grad net im Kopf, da müssen noch ein paar Kommas und Nullen mit rein und date müßtest du einmal den Tag des Monats und einmal das aktuelle Jahr an entsprechender Stelle ausgeben lassen;)
Gruß, Rince
Beitrag zuletzt geändert: 16.5.2010 20:23:37 von rincewind83 -
Die Unix-Epoche begann nicht 1978, sondern bereits 1970. Außerdem sind in dem oben genannten Code zwei Fehler. Hier ist der korrekte Code:
$time = time(); $spd = 84600; // 24h in Sekunden $days = 12; // Tage $then = $spd*$days+$time; echo 'Heute ist ' . date('l jS F Y',$time) . '</br>'; echo 'In '.$days.' Tagen ist ' . date('l jS F Y',$then) . '</br>';
-
drafed-map schrieb:
Die Unix-Epoche begann nicht 1978, sondern bereits 1970. Außerdem sind in dem oben genannten Code zwei Fehler. Hier ist der korrekte Code:$time = time(); $spd = 84600; // 24h in Sekunden $days = 12; // Tage $then = $spd*$days+$time; echo 'Heute ist ' . date('l jS F Y',$time) . '</br>'; echo 'In '.$days.' Tagen ist ' . date('l jS F Y',$then) . '</br>';
Selbst da steckt noch ein Dreher drin ;) Hier ist der definitiv richtige Code:
<?php $time = time(); $spd = 86400; // 24h in Sekunden $days = 12; // Tage $then = $spd*$days+$time; echo 'Heute ist ' . date('l jS F Y',$time) . '</br>'; echo 'In '.$days.' Tagen ist ' . date('l jS F Y',$then) . '</br>'; ?>
-
Wenn du mit "timestamp" zufällig den MySQL TIMESTAMP meinst, dann geht des so:
SELECT ... FROM ... WHERE timestamp >= CURRENT_DATE AND timestamp <= DATE_ADD(CURRENT_DATE, INTERVAL 12 DAY)
Weiteres findest du hier: http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html
Wie immer, ungetestet ;) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage