MySQL Timestamp aus der DB ausgeben
Karsten
- php
Hallo,
hier einmal mein Quelltext:
<?php
$sql = "SELECT fwId, fwName, fwDatum, fwGruendung, fwMitglieder FROM feuerwehr ORDER BY fwName ASC;";
$result = mysql_query($sql) or die(mysql_error());
while( $row = mysql_fetch_assoc($result) ) { ?>
<tr>
<td><?php echo $row["fwId"]; ?></td>
<td><?php echo $row["fwName"]; ?></td>
<td><?php echo $row["fwDatum"]; ?></td>
...
Die Datenban ksieht so aus:
CREATE TABLE feuerwehr
(
fwId
int(2) NOT NULL auto_increment,
fwDatum
TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
fwName
varchar(30) NOT NULL default '0',
fwGruendung
int(25) NOT NULL default '0',
fwMitglieder
int(3) NOT NULL default '0',
berichtId
int(9) NOT NULL default '0',
PRIMARY KEY (fwId
)
);
Nun wird aber das Datum immer nach dem Muster YYYY-MM-TT HH:MM:SS gespeichert. Wie kann ich aber nun dieses Datum nach eigener Formatierung ausgeben. Ich will an bestimmten stellen nur das Datum TT.MM.YYYY habe und an anderen noch ganz anders. Wie kann ich diese ausgabe steuern?
Danke Karsten
habe d'ehre Karsten
Nun wird aber das Datum immer nach dem Muster YYYY-MM-TT HH:MM:SS gespeichert. Wie kann ich aber nun dieses Datum nach eigener Formatierung ausgeben. Ich will an bestimmten stellen nur das Datum TT.MM.YYYY
Einfach auf das deutsche Format umformen.
z.B. $date_field = substr($value, 8, 2).".".substr($value, 5, 2).".".substr($value, 0, 4);
man liest sich
Wilhelm
Moin!
Nun wird aber das Datum immer nach dem Muster YYYY-MM-TT HH:MM:SS gespeichert. Wie kann ich aber nun dieses Datum nach eigener Formatierung ausgeben. Ich will an bestimmten stellen nur das Datum TT.MM.YYYY
Einfach auf das deutsche Format umformen.
z.B. $date_field = substr($value, 8, 2).".".substr($value, 5, 2).".".substr($value, 0, 4);
Aber doch nicht mit PHP!!!
MySQL bietet wunderschöne Funktionen zur Formatierung von DATE, DATETIME, TIME und TIMESTAMP an. Die packt man einfach mit ins SELECT, und schon hat man das gewünschte Format im Query-Result.
- Sven Rautenberg
habe d'ehre Sven
Aber doch nicht mit PHP!!!
MySQL bietet wunderschöne Funktionen zur Formatierung von DATE, DATETIME, TIME und TIMESTAMP an. Die packt man einfach mit ins SELECT, und schon hat man das gewünschte Format im Query-Result.
Mag so sein, aber wenn ich z.B. die Daten in einer Anwendung nach verschiedenen Spalten sortieren moechte, bin ich mit MySQL-Format im Speicher auf der besseren Seite.
man liest sich
Wilhelm
Moin!
MySQL bietet wunderschöne Funktionen zur Formatierung von DATE, DATETIME, TIME und TIMESTAMP an. Die packt man einfach mit ins SELECT, und schon hat man das gewünschte Format im Query-Result.
Mag so sein, aber wenn ich z.B. die Daten in einer Anwendung nach verschiedenen Spalten sortieren moechte, bin ich mit MySQL-Format im Speicher auf der besseren Seite.
MySQL sortiert doch auch prima. Oder was meinst du genau? Im Zweifel einfach doppelt abfragen. :)
- Sven Rautenberg
habe d'ehre Sven
Mag so sein, aber wenn ich z.B. die Daten in einer Anwendung nach verschiedenen Spalten sortieren moechte, bin ich mit MySQL-Format im Speicher auf der besseren Seite.
MySQL sortiert doch auch prima. Oder was meinst du genau? Im Zweifel einfach doppelt abfragen. :)
Liege ich mit meiner Behauptung so falsch, dass Zugriffe auf im Speicher befindliche Daten eindeutig schneller als Zugriffe auf die Datenbank sind? Wozu nochmal auf die Datenbank zugreifen wenn ich alle Daten schon im Speicher habe.
man liest sich
Wilhelm
echo $begrüßung;
Liege ich mit meiner Behauptung so falsch, dass Zugriffe auf im Speicher befindliche Daten eindeutig schneller als Zugriffe auf die Datenbank sind?
Nein, aber ...
Wozu nochmal auf die Datenbank zugreifen wenn ich alle Daten schon im Speicher habe.
... wieso nochmal?
SELECT formatfunktion(datumsspalte)
und schon bekommt man den Wert gleich im gewünschten Format von der Datenbank zurück. Das ist auch noch eine Ecke eindeutiger, da irgendein Nasenbär das Default-Datumsausgabeformat verbogen haben kann und dann schnippelt deine substr-Methode an den flaschen Stellen rum.
echo "$verabschiedung $name";
.oO( Ich hab doch nicht etwas flasch flasch geschrieben? )
habe d'ehre dedlfix
ich sagte: "Daten in einer Anwendung nach verschiedenen Spalten sortieren"
Warum zum Geier soll ich nochmal in die DB rein.
da irgendein Nasenbär das Default-Datumsausgabeformat verbogen haben kann und dann schnippelt deine substr-Methode an den flaschen Stellen rum.
Klar, wenn man den Timestamp manuell manipulieren laesst oder keine vernuenftige Formatpruefung einsetzt. ;-) Fragt sich dann nur, wer in so einem Fall der Nasenbaer ist. :-)
man liest sich
Wilhelm
yo,
ich sagte: "Daten in einer Anwendung nach verschiedenen Spalten sortieren"
naja, kann man auch aber so verstehen, eine abfrage über mehrere spalten zu sortieren. wenn die eine abfrage aber auf unterschiedliche weise sortiert werden soll, dann hast du recht.
Ilja
echo $begrüßung;
ich sagte: "Daten in einer Anwendung nach verschiedenen Spalten sortieren"
Warum zum Geier soll ich nochmal in die DB rein.
In dem Fall gebe ich dir Recht (ich las etwas flüchtig gestern Abend), aber für PHP ist das von wenigen Ausnahmen abgesehen nicht relevant. Da wird ein Request abgearbeitet und fertig ist die "Anwendung". Ein neuer Request bedeutet eine neue "Anwendung" und damit eine neue Datenabfrage. Und dann kann die Datenbank gleich selbst sortieren und formatieren.
Natürlich könnte man auf die Idee kommen, die Daten zwischen den Requests zu speichern - zum Beispiel in einer Session. Doch bevor man sowas anfängt, sollte man genau abwägen, wieviel Gewinn das unter welchen Bedingungen (z.B. Datenmenge) bringt und ob die damit verbundene erhöhte Komplexität der Anwendung notwendig/gerechtfertigt ist.
echo "$verabschiedung $name";