Willkommen in der Webstatt Zum Webstatt Blog und Stories
Bonze am 26.11.06 17:31

habn prob, und zwar speichere ich den aktuellen timestamp
mit time() ganz normal in meiner db und bekomme dann aber nur 2006 ausgegeben ?!
, ich frag mich die ganze zeit warum?
kann es daran liegen das mein feld date heisst?!

netcup.de Warum gibt es hier Werbung?
Al3x0r Al3x0r am 26.11.06 17:33

jop. Entweder du nimmst das Feld 'date' und trägst die aktuelle Zeit mit 'NOW()' ein oder du nimmst das Feld 'int' und trägst die aktuelle Zeit mit 'time()' ein

mfg Alex

Bonze am 26.11.06 17:35

ja sry event falsch ausgedrückt, das feld heist date und ist vom typ int!
das is ja gerade das was mich ahnsinnig macht , es scheint so ls ob es nicht möglich wäre so einen normalen timestamp reinzupacken,.

Al3x0r Al3x0r am 26.11.06 17:41

Wie lang ist das Feld ? Trägst du wirklich direkt <?php time(); ?> ein oder änderst du vorher was dran ?

edit:// mir ist grade eingefallen, dass ich das problem auch schonmal hatte und es damit zusammenhing, dass ich das Feld, wie du auch, mit Date benannt habe. Ein Umbennen sollte Abschilfe schaffen.

Bonze am 26.11.06 18:11

mhh hab doch nen fehler entdeckt, jetzt funzts doch soweit, allerdings hab ich ne andere frage noch un zwar möchte ich das datum anzeigen je nachdem wie lange der post zurückliegt, also Gestern, Vorgestern oder halt das richtige datum:

mein code (funzt ab nich ),.
$jetzt = date("d");
$db = date("d", $last_date['date']);
if($jetzt-$db >= "86400"){
$datum = "Gestern,".date("H:i", $last_date['date']);
}elseif($jetzt-$db <= "172800"){
$datum = "Gestern,".date("H:i", $last_date['date']);
}else{
$datum = date("d.m.Y H:i", $last_date['date']);
}

sili sili am 26.11.06 19:24

Ich habe mir auch gerade eine solche Funktion geschrieben. Hier das Ergebnis:

function datum_text($datum, $format = 'd.m.Y H:i:s')
{
$datum = strtotime($datum);
$aktuell = time();

$heute = strtotime('today');
$gestern = strtotime('yesterday');

if ($datum > $aktuell) {
// Datum aus der Zukunft
return date($format, $datum);
} elseif ($datum >= $heute) {
return 'heute';
} elseif ($datum >= $gestern) {
return 'gestern';
}

// aelteres Datum
return date($format, $datum);
}

echo datum_text('2006-11-26 18:38:36');


Vorschläge immer gern :)

Bonze am 27.11.06 17:08

so habs jetzt auch hinbekommen :Dso so wie des jetzt sehe funzt, habe das selbe auch probiert, allerdings nicht daran gedacht das man noch durch 3600 und 24 teilen muss,
$interval = time() - $row[date];
// In Tage umrechnen
$interval = $interval/3600/24;

if($interval <= 1){
$datum = " Heute".date("H:i", $row[date]);
}elseif($interval >= 1){
$datum = " Gestern,".date("H:i", $row[date]);
}elseif($interval >= 2){
$datum = " Vorgestern,".date("H:i", $row[date]);
}else{
$datum = $row[date]:

}
echo $datum;

Snake am 27.11.06 18:34

schreib bitte die array keys in einfache anführungszeichen (=> $row['date'])

Bonze am 27.11.06 18:45

hab ich auch eigentlich , hatte des nur vorher verallgemeinert ,
falls jemand mal sowas braucht,. und er des iom forum findet,.

EDIT: so hab jetzt doch deins genommen , da meins zwar funktionierte , allersdings nach 24h gegangen ist nich nach den richtigen tagen!

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt