Suchen
Inside Forum
Nützliche Links
PHP Jobs
phpforum.de Tipp
 
phpforum.de bei Facebook
 
phpforum.de bei Twitter
 
PHP Test


werbung



Zurück   PHP Forum: phpforum.de > PHP > PHP

PHP Alles rund um PHP

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 13.09.2004, 11:10
Oliver1406 Oliver1406 ist offline
Engagierter Besucher
 
Registriert seit: 26.02.2004
Beiträge: 406
Standard

Hi zusammen!
Ich habe ein Formular für einen Veranstaltungskalender. Dort können die User auch das Datum angeben wann die Veranstaltung ist. Soweit alles klar. Ich habe nun 3 input felder: $tag $monat $jahr
Nun soll das ganze umgewandelt werden und als timestamp in die Datenbank geschrieben werden.
Ich habe also in meiner Datenbank ein Feld mit Datum als Timestamp.
Wenn ich das heute datum in das feld eintragen möchte ist es ja eigentlich kein Problem da ich das einfach mit NOW() machen kann. Ich brauch aber unbedingt das Eingetragene Datum in ein Timestamp feld da ich dieses nach Ablauf der Zeit löschen möchte... Ich bin leider absoluter Newbie in Sachen Datum und Datenbanken...
Wäre super wenn mir jemand weiterhelfen kann.
Ich habe auch schon gesucht. Hab auch massig Datumsfunktionen gefunden. Aber irgendwie blick ich das ganze nicht so...
Mit Zitat antworten
  #2  
Alt 13.09.2004, 11:15
Nobody Nobody ist offline
Vorbildlicher Helfer
 
Registriert seit: 03.12.2002
Beiträge: 25.580
Standard

DOKU-VORLESE-SERVICE(TM)
int mktime([int Stunde[, int Minute[, int Sekunde[, int Monat[, int Tag[, int Jahr[, int is_dst] ] ] ] ] ] ] )
Gibt den Unix-Timestamp/Zeitstempel für ein Datum zurück

*** Nobody ***
__________________
Ich beantworte keine Fragen per PM, Mail, ICQ oder Telefon. Unformatiert geposteten Quellcode sehe ich mir nicht an.
PHP Tipps & Tricks
Mit Zitat antworten
  #3  
Alt 13.09.2004, 12:57
Oliver1406 Oliver1406 ist offline
Engagierter Besucher
 
Registriert seit: 26.02.2004
Beiträge: 406
Standard

Also ich habe das jetzt versucht... Ich habe folgenden Befehl geschrieben:
Code:
$termin = mktime(0,0,0,$monat,$tag,$jahr);

$schreiben = "INSERT INTO veranstaltungen (titel, termin, uhrzeit, text, zeit) VALUES ('$titel', '$termin', '$uhrzeit', '$text', now())";
Das Feld wo der Termin eingetragen wird ist ein Feld vom Typ INT...
Leider bringt er dann als ergebnis: -3662 ?!?!

Kann mir da jemand weiterhelfen...
Mit Zitat antworten
  #4  
Alt 13.09.2004, 13:12
Oliver1406 Oliver1406 ist offline
Engagierter Besucher
 
Registriert seit: 26.02.2004
Beiträge: 406
Standard

danke, hat sich erledigt.
Mit Zitat antworten
  #5  
Alt 13.09.2004, 13:29
Oliver1406 Oliver1406 ist offline
Engagierter Besucher
 
Registriert seit: 26.02.2004
Beiträge: 406
Standard

Jetzt habe ich es so gemacht das das Datum wie folgt gespeichert wird:
z.B. 10.08.2004 in einem "varchar" feld
Leider habe ich jetzt das Problem wenn ich alle n datensätze löschen möchte
die schon abgelaufen sind, das er keinen löscht.
hier erstmal das Script:
Code:
$datum_heute = date("d.m.Y");

$abfrage = "DELETE FROM veranstaltungen WHERE termin < $datum_heute";
mysql_query($abfrage);
Es sollen also alle Termine nach dem abgelaufenen Datum gelöscht werden.
Leider finde ich den fehler nicht...
Mit Zitat antworten
  #6  
Alt 13.09.2004, 13:32
Nobody Nobody ist offline
Vorbildlicher Helfer
 
Registriert seit: 03.12.2002
Beiträge: 25.580
Standard

Das kann auch nicht gehen. Entweder benutzt Du in der DB den Typ Date, bzw. DateTime oder Du arbeitest mit Timestamps.

*** Nobody ***
__________________
Ich beantworte keine Fragen per PM, Mail, ICQ oder Telefon. Unformatiert geposteten Quellcode sehe ich mir nicht an.
PHP Tipps & Tricks
Mit Zitat antworten
  #7  
Alt 13.09.2004, 15:44
Oliver1406 Oliver1406 ist offline
Engagierter Besucher
 
Registriert seit: 26.02.2004
Beiträge: 406
Standard

ok, das hab ich jetzt auch soweit hinbekommen...
Ich hab das ganze jetzt so gemacht:
Code:
$abfrage = "DELETE FROM veranstaltungen WHERE termin < date_add(current_date, interval -1 day)";
mysql_query($abfrage);
jetzt habe ich nur das Problem, wenn ich das Datum ausgebe kommt es als MySql Datum: z.B. 2004-12-02
Ich habe auch schon in deinem Link (in der Signatur) gesehen wie man es bsp. umwandeln kann.
Allerdings arbeite ich bei der Ausgabe mit einer Schleife da es ja mehr veranstaltungen sind.
Nun lässt er das erste Datum stehen und bei dem 2ten bricht er ab. Wenn ich die Funktion mit dem Datenumwandeln
wieder lösche zeigt er auch wieder alle an... gibt es da ne andere möglichkeit als eine funktion?
bzw. wie kann ich es ohne probleme in der Schleife formatieren?
Mit Zitat antworten
  #8  
Alt 13.09.2004, 16:28
Oliver1406 Oliver1406 ist offline
Engagierter Besucher
 
Registriert seit: 26.02.2004
Beiträge: 406
Standard

danke, habs schon...
Mit Zitat antworten


Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu
Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
datatime in timestamp umwandeln Gewissen PHP 12 02.06.2006 17:33
timestamp umwandeln netham PHP 2 23.12.2005 13:28
zeit in nix-timestamp umwandeln! Fabian90 PHP 1 01.12.2005 18:34
timestamp in Zeit umwandeln [freaky] Datenbanken 4 05.09.2004 18:27
Timestamp in Datum umwandeln? Pastor of Muppets PHP 1 03.02.2003 14:07


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:40 Uhr.


Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC