PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Datum korrekt ausgeben aus Datenbank (http://www.selfphp.de/forum/showthread.php?t=12962)

Esnabur 20.03.2006 20:41:09

Datum korrekt ausgeben aus Datenbank
 
Ich habe da 2 Fragen zum Datum.

Ich habe in meiner MySQL Tabelle ein Feld mit namen date vom Typ Datetime.
nun speicher ich das aktuelle Datum. Es wird soweit auch korrekt gespeichert. In der Tabelle steht dann z.b. als Datum drinn: 2006-03-20 20:12:17

aber ausgegeben wird: 10.05.1923, 13:26

PHP-Code:

  $result $db->query("SELECT FROM_UNIXTIME(date,'%d.%m.%Y, %H:%i') as datum FROM ag_users WHERE id=".$id);

  while (
$date_alt mysql_fetch_object($result))
  {
  echo 
"<p><center>Letzter Wechsel war am: $date_alt->datum  nächster Wechsel am:  möglich</center></p>";
  } 

Wie bekomme ich das hin das das Datum was in der DB steht auch ausgegeben wird?

und die 2. Frage: Wie kann ich zu dem Datum das in der DB gespeichert ist, z.b. 10 Tage hinzurechnen?

Vielen Dank für eure Antworten schon mal im vorraus.
Grüße

xabbuh 20.03.2006 21:23:54

AW: Datum korrekt ausgeben aus Datenbank
 
FROM_UNIXTIME() formatiert dir ein Datum, dass als UNIX-Timestamp vorliegt.
Für Daten die im DATE(TIME)-Format vorliegen, gibt es die Funktion DATE_FORMAT().

Esnabur 20.03.2006 21:26:07

AW: Datum korrekt ausgeben aus Datenbank
 
ah danke dir xabbuh
so klappt das dann auch.

PHP-Code:

$result $db->query("SELECT date_format(date,'%d.%m.%Y, %H:%i') as datum FROM ag_users WHERE id=".$id);
  echo 
"<p><center>Letzter Wechsel war am: ".mysql_result($result0"datum")." | nächster Wechsel am: xxx möglich</center></p>"

und wie bekommt man nun eine bestimmte Zeit dazugerechnet um diese dann auszugeben?

Heinrich 20.03.2006 22:06:37

AW: Datum korrekt ausgeben aus Datenbank
 
Hi,

zum Rechnen wirst du das Datum als timestamp in der DB speichern müssen. Dann rechnest du 10 Tage (10 mal 86.400 Sekunden) dazu und lässt dir das ganze wieder mit date() formatiert ausgeben.

Gruß
Heinrich

Esnabur 20.03.2006 22:12:13

AW: Datum korrekt ausgeben aus Datenbank
 
joa, vielen Dank. Habe ich dann nun auch gemerkt, bzw so versucht.

PHP-Code:

  $result $db->query("SELECT date FROM ag_users WHERE id=".$id);
  
$timestamp=strtotime(mysql_result($result0"date"));
  if(
$timestamp==-1) echo "Bisher noch kein Charakter ausgewählt ...";
  else
    {
      echo 
"<p><center>Letzter Wechsel war am: ".date("d.m.Y"$timestamp);
        if(
$timestamp+7*(3600*24)>time()) echo " (nächster Wechsel am: ".date("d.m.Y",$timestamp+7*(3600*24))." möglich!)</center></p>";
    } 


xabbuh 21.03.2006 10:04:50

AW: Datum korrekt ausgeben aus Datenbank
 
Die Umrechnung in einen UNIX-Timestamp ist hier überflüssig. Mit DATE_ADD() und DATE_SUB() lassen sich innerhalb von MySQL problemlos Berechnungen mit DATE(TIME)-Formaten vornehmen.

Heinrich 21.03.2006 11:38:03

AW: Datum korrekt ausgeben aus Datenbank
 
Hi Xabbuh,

danke - wieder was gelernt. Da hätte ich mir einige Zeilchen Code und einige Spalten sparen können.

Ds scheint dann ja wie in Excel zu gehen, dass dahinter eine Kalenderzählung arbeitet. Nur zur Sicherheit - die Spalte muss dann wohl den Typ "DATE" haben. Und der Eintrag im Format dd.mm.yyyy, oder?

Gruß
Heinrich


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:14:52 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.