| Projekthilfe Hier könnt Ihr eine Art Projekthilfe anfordern. Unter Projekthilfe verstehen wir Angebote bei denen KEIN Geld gezahlt werden kann. |
 |

14-05-2008, 08:42
|
|
ACRDF
Newbie
|
|
Registriert seit: Apr 2008
Beiträge: 39
|
|
Datumssortierung und -vergleich DB
Hallo,
ich habe (schon wieder) einige Fragen und würde mich freuen, wenn mir jemand da weiterhelfen könnte:
Über ein Formular sollen die Besucher meiner Seite die Möglichkeit haben Termine einzutragen. - Da ich hier mit der unzureichenden Fähigkeiten der Besucher oder mit Schabernack (zum Beispiel Termineinträge für das Jahr 2050...) rechne, werde ich dies per DropDown-Felder (select/option) machen. Also werden die Besucher den Tag (01, 02, 03 ...), Monat (Januar, Februar, März...) und das Jahr (2008, 2009 ...) sozusagen vorgegeben bekommen und dies wird dann auch so in meiner Datenbank entsprechend gespeichert (jeweils 1 Feld).
Nun möchte ich folgende Sache bewerkstelligen:
1. Das Datum vom Termin sollte bereits in der Formular-Senden-PHP umgewandelt werden und als 4. Feld in der Tabelle gespeichert werden, da ich die Einträge sortiert nach dem Datum (Jahr, Monat, Tag) später ausgeben möchte.
2. Der Termin soll mit dem aktuellen Datum verglichen werden (ich möchte veraltete Termine in der Ausgabe "ausfiltern").
Hat jemand diesbezüglich einen konstruktiven Vorschlag, wie dies geschehen könnte?
Geändert von ACRDF (14-05-2008 um 09:04 Uhr)
|

14-05-2008, 11:10
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
zu 1)
Wieso nochmals das Datum des Termins speichern. Du hast es ja bereits in den drei Spalten (obwohl ich es sinnvoller finde nur eine Spalte zu verwenden!!)
Ich würde auf jeden Fall das Datum in EINE Spalte speichern. Dann kannst du mit den Zeitfunktionen von mysql arbeiten. Ansonsten müsstest du (bei drei Spalten) das Datum immer erst zusammensetzen, um dann eine MySql-Zeitfunktion darauf auszuführen
|

14-05-2008, 11:22
|
|
ACRDF
Newbie
|
|
Registriert seit: Apr 2008
Beiträge: 39
|
|
Also ich MUSS es unbedingt in 3 Spalten speichern, da es für die Ausgabe ganz entscheidend ist (gebe Jahr, Monat, Tag an unterschiedlichste Stellen heraus). Die 4. Spalte mit der vorhergehenden Umwandlung ist unter anderem dazu gut, dass ich die Ausgabe nach der 4. Spalte sortiert ausgeben möchte und wahrscheinlich ein vergleich des aktuellen Datums mit dem Datumformat der 4. Spalte am Einfachsten wäre.
|

14-05-2008, 11:25
|
 |
onemorenerd
 Moderator
|
|
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
|
|
Zitat:
Original geschrieben von ACRDF
Also ich MUSS es unbedingt in 3 Spalten speichern, da es für die Ausgabe ganz entscheidend ist (gebe Jahr, Monat, Tag an unterschiedlichste Stellen heraus).
|
Das ist doch kein Grund. MySQL hat auch Funktionen, die dir nur Jahr, Monat oder Tag eines Datums liefern.
|

14-05-2008, 11:27
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
Zitat:
|
Also ich MUSS es unbedingt in 3 Spalten speichern, da es für die Ausgabe ganz entscheidend ist (gebe Jahr, Monat, Tag an unterschiedlichste Stellen heraus). Die 4. Spalte mit der vorhergehenden Umwandlung ist unter anderem dazu gut, dass ich die Ausgabe nach der 4. Spalte sortiert ausgeben möchte.
|
Brauchst du trotzdem nicht drei Spalten dazu. Beim Auslesen kannst du das Datum mittels mysql_Zeitfunktionen umformatieren, um dir z.B. den Tag, den Monat und das Jahr als einzelne Werte zu holen.
Du musst dir das ungefähr so vorstellen: Du hast eine Spalte in der DB mit der Grösse in Byte eines Files. Jetzt willst du die Grösse aber in KB, MB und GB ausgeben. Dazu könntest du 3 neue Spalten anlegen und die Werte reinschreiben. Oder du verwendest nur eine Spalte (Byte-Spalte) und formatierst die Werte beim Auslesen in KB etc um.
4 Spalten für ein Datum ist etwas gar deftig
|

14-05-2008, 12:12
|
|
ACRDF
Newbie
|
|
Registriert seit: Apr 2008
Beiträge: 39
|
|
Na OK... Ihr habt mich überzeugt.
Wie löse ich nun die ganze Problematik?
1. Die Umwandlung in das Datum-Format (vor dem Abspeichern in die Tabelle)?
2. Datumsvergleich mit aktuelles Datum?
3. Datumsteilausgaben?
|

14-05-2008, 12:38
|
jahlives
Master  
|
|
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
|
|
1. setzt doch das Datum mittels PHP aus den Usereingaben zusammen. Dabei musst du das Vorgabeformat für Datum seitens MySql beachten.
2. WHERE datum1=datum2
3. z.B. mit DATE_FORMAT(date,format)
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|