ERLEDIGT
NEIN
NEIN
ANTWORTEN
6
6
ZUGRIFFE
445
445
EMPFEHLEN
-
Hi,
ich als php-Anfänger hatte mich in das php-Gästebuch tut von Nocturn eingearbeitet und es nach einiger Zeit auch zum Laufen bekommen. Bleibt in meinem script nur noch ein Problem:
Ich bekomme das Datum auf der website nicht angezeigt. Die Ausgabe zeigt nur:
geschrieben: - // :
und das hier ist das echo:
echo "<font color=\"navy\">generated:</font> $ndate[weekday] - $ndate[mday]/$ndate[mon]/$ndate[year] $ndate[hours]:$ndate[minutes]";
hat jemand ne Idee, was ich probieren könnte? Ich benötige eigentlich nur das Datum, keine Uhrzeit. Vielen Dank im voraus.
-
Ganz allgemein fehlen Anführungszeichen, also so:
Ob das das Problem löst weis ich nicht. Interessant wäre es zu sehen, wie das Array erzeugt wird, poste doch bitte genau diesen Abschnitt.PHP-Code:$ndate["weekday"]
-
Hallo,
vielen Dank schonmal für den Tip. Die Anführungszeichen werde ich gleich mal einfügen. Hier erstmal der Abschnitt mit dem Array:
<?php
$sqlkommando = "SELECT * FROM guestbook ORDER BY id DESC";
// Auf gut deutsch: Nimm aus allen feldern in table 'guestbook' die Daten und sortiere sie absteigend nach 'id'
// Hier haben wir die Wahl zwischen ASC und DESC als Sortierungsreihenfolge
// ASC = von 1-9 und A-Z
// DESC = von Z-A und 9-1
// da 'id' eine zeitangabe beinhaltet werden die felder hier absteigend nach datum sortiert, der neuste eintrag steht also
// folglich ganz oben
$sqlanfrage = mysql_query($sqlkommando) or die("Error: " . mysql_error()); // $sqlanfrage auf das Kommando:" 'sqlkommando' ausfuehren" setzen
// bei misserfolg beenden und fehlermeldung ausgeben
while($daten = mysql_fetch_object($sqlanfrage)) // Solange wie daten ausgelesen werden können sollen
{ // sie in das Objekt '$daten' geladen und die folgende
// schleife ausgegeben werden
$datum = getdate($daten->id); // Datum aus 'id' konvertieren und in das 'datum' array packen
echo "<font color=\"navy\">message by: ". stripslashes($daten->name) ."\n<br></font>"; // PHP sonderzeichen entfernen und name ausgeben
echo "<font color=\"navy\">email: <a href=\"mailto:</font>".stripslashes($daten->email)."\">".stripslashes($daten->email)."</a>\n<br>";
echo "<font color=\"navy\">homepage:</font> ".stripslashes($daten->homepage)."\n<br>";
echo "<font color=\"navy\">generated:</font> $ndate[weekday] - $ndate[mday]/$ndate[mon]/$ndate[year] $ndate[hours]:$ndate[minutes]"; // Datum ausgeben (Englisch siehe Moartel Tutorial)
echo "<br>";
echo "<font color=\"black\">comment: <br>";
echo nl2br(stripslashes($daten->message)); //nl2br = Zeilenumbrüche in HTML-Umbrüche (<br>) umwandeln
echo "\n<br><br>\n</font>";
}
?>
-
Halloj nochmal,
also,wenn ich die Anführungszeichen eingebe, bekomme ich einen parse error. Kann das sein?
-
Ja, entschuldigung, in dem Script wird die getdate()-Funktion verwendet, da müssen die Anführungszeichen natürlich weg.
Du musst der Funktion einen Timestamp übergeben. Existiert der in deiner Datenbanktabelle?PHP-Code:$datum = getdate($daten->id);
So etwa:
Du musst dich übrigens entscheiden ob du $datum oder $ndate verwendest, sonst klappt das natürlich nicht.PHP-Code:$ndate = getdate($daten->timestamp);
Also entweder
oderPHP-Code:$ndate = getdate($daten->timestamp);
echo "<font color=\"navy\">generated:</font> $ndate[weekday] - $ndate[mday]/$ndate[mon]/$ndate[year] $ndate[hours]:$ndate[minutes]";
ps: Verwende bitte die Code-Formatierung wenn du welchen postest, das kann man sonst so schlecht lesen.PHP-Code:$datum = getdate($daten->timestamp);
echo "<font color=\"navy\">generated:</font> $datum[weekday] - $datum[mday]/$datum[mon]/$datum[year] $datum[hours]:$datum[minutes]";
Geändert von cameeel (07.09.08 um 16:41 Uhr)
-
Hallo nochmal,
genial, Dein Tip funktioniert fast schon perfekt: Ich habe also
gegenPHP-Code:$datum = getdate($daten->id);
ausgetauscht. Und siehe da, ich bekomme ein Datum:PHP-Code:$ndate = getdate($daten->timestamp);
generated: Thursday - 1/1/1970 1:0
Das dürfte das Unix datum sein,oder? Hast Du evtl. noch eine Idee wie ich das richtige datum dort hinein bekomme?
Ps. Danke für den Hinweis mit der Code-formatierung. Ich hoffe, so wie ichs jetzt gemacht habe, ists richtig.
-
Wow, Problem gelöst. Ich habe soeben rausgefunden, das ich keinen Timestamp habe, sonder die ID umwandele. Also habe ich
zuPHP-Code:$ndate = getdate($daten->timestamp);
gemacht. Kaum macht mans richtig, schon funktionierts....PHP-Code:$ndate = getdate($daten->id);
Ich bedanke mich ganz herzlich für die nette Hilfe und wünsche noch nen schönes Restwochenende!!
Ähnliche Themen
-
[MySQL] Datetime nur Datum ausgeben
Von keks1984 im Forum Relationale DatenbanksystemeAntworten: 8Letzter Beitrag: 11.01.08, 11:28 -
MySQL: Datensätze nach Datum ausgeben
Von Bicko im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 05.10.06, 21:08 -
Datum mit MySQL auslesen und jahrweise ausgeben
Von Rasenkantenstein im Forum PHPAntworten: 11Letzter Beitrag: 27.10.05, 10:27 -
MySQL Timestamp als Datum ausgeben...
Von FoRi im Forum PHPAntworten: 2Letzter Beitrag: 09.04.05, 17:07 -
MySQL -> Geburtstagskalender / Nächstes Datum ausgeben
Von Rasenkantenstein im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 07.09.04, 10:31





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren