datum sortieren?

sugar

Erfahrenes Mitglied
Ich habe in meiner datenbank das datum folgendermassen eintragen lassen:
PHP:
$datum=date("d").'.'.date("m").'.'.date("Y").' ';
wenn ich aber jetzt auf ORDER BY datum DESC setze, gibt er mir nicht die richtige reihenfolge aus.

ich würde gerne das aktuelle datum eintragen, dieses aber im nachhinein gerne ändern können? gibt es dafür eine möglichkeit?

kann mir vielleicht jemand helfen?

danke!
 
Wenn Du das Datum in Deiner Datenbank im Format date speicherst (YYYY-MM-TT), dann kannst Du das auch ohne weiteres sortieren.
Wenn Du das Datum anders anzeigen lassen willst, dann bietet eigentlich jede Scriptsprache die Möglichkeit, das Format so umzuändern, dass es wie gewünscht angezeigt wird.

redlama

P.S. Achte mal bitte auf Deine Groß-/Kleinschreibung! ;)
 
Ich habe jetzt folgende Überlegung das Format mit der date Funktion aus mySQL eintragen zu lassen. Jetzt habe ich das Format Jahr-Monat-Tag, zum Eintragen ist das ja ok aber ausgegen hätte ich es gerne anders. Mein Code sieht folgendermassen aus:

PHP:
$org=mysql_query("SELECT * FROM news_setup WHERE id='1'");
$anz=mysql_fetch_row($org);
$anz_news=$anz[3];

$erg=mysql_query("Select * FROM news2 ORDER BY datum DESC");

for($newsindex=1;$newsindex<=$anz_news;$newsindex++) {

	if ($daten=mysql_fetch_array($erg)) {
	?>  
  <tr> 
          <td height="30" valign="top" class="text"><img src="../images/newsp.gif" width="19" height="20" align="absmiddle"><?php echo $daten['datum']; ?><br>
            <a href="news_show.php?id=<?php echo $daten['id']; ?>"><?php echo $daten['header']; ?><br><strong><?php echo $daten['subheader']; ?></strong></a><br><br></td>
</tr>
<?php
	}
}

mysql_close($connect);

Jetzt habe ich gelesen man kann das Datum einfach umformatieren irgendwie so:
PHP:
$datum = explode("-", $datum); echo $datum[2].".".$datum[1].".".$datum[0];

Ich weiß nur nicht ganz wie ich das bei mir einfügen kann? :rolleyes:
 
Am besten wäre es, Du würdest das Datum in der DB in einem Feld vom Typ DATE speichern. Beim INSERT oder UPDATE muss das Datum dann das Format YYYY-MM-DD haben.
Beim Abfragen wandelst Du das Datum dann mit der SQL-Funktion DATE_FORMAT in das gewünschte Ausgabe-Format um:
Code:
SELECT DATE_FORMAT(datum, '%d.%m.%Y'), ... FROM ...
So brauchts Du in PHP nix mehr umformatieren.
Martin
 
Zurück