tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
6
ZUGRIFFE
445
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    räkor räkor ist offline Rookie
    Registriert seit
    Sep 2008
    Beiträge
    6
    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.
     

  2. #2
    Avatar von cameeel
    cameeel cameeel ist offline Mitglied Platin
    Registriert seit
    Dec 2004
    Beiträge
    677
    Ganz allgemein fehlen Anführungszeichen, also so:
    PHP-Code:
    $ndate["weekday"
    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.
     
    Nein, ich bin nicht die Signatur, ich putz hier nur.

    URL's kürzen | Code's speichern

  3. #3
    räkor räkor ist offline Rookie
    Registriert seit
    Sep 2008
    Beiträge
    6
    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>";
    }
    ?>
     

  4. #4
    räkor räkor ist offline Rookie
    Registriert seit
    Sep 2008
    Beiträge
    6
    Halloj nochmal,

    also,wenn ich die Anführungszeichen eingebe, bekomme ich einen parse error. Kann das sein?
     

  5. #5
    Avatar von cameeel
    cameeel cameeel ist offline Mitglied Platin
    Registriert seit
    Dec 2004
    Beiträge
    677
    Ja, entschuldigung, in dem Script wird die getdate()-Funktion verwendet, da müssen die Anführungszeichen natürlich weg.

    PHP-Code:
    $datum getdate($daten->id); 
    Du musst der Funktion einen Timestamp übergeben. Existiert der in deiner Datenbanktabelle?
    So etwa:
    PHP-Code:
    $ndate getdate($daten->timestamp); 
    Du musst dich übrigens entscheiden ob du $datum oder $ndate verwendest, sonst klappt das natürlich nicht.

    Also entweder
    PHP-Code:
    $ndate getdate($daten->timestamp);
    echo 
    "<font color=\"navy\">generated:</font> $ndate[weekday] - $ndate[mday]/$ndate[mon]/$ndate[year] $ndate[hours]:$ndate[minutes]"
    oder
    PHP-Code:
    $datum getdate($daten->timestamp);
    echo 
    "<font color=\"navy\">generated:</font> $datum[weekday] - $datum[mday]/$datum[mon]/$datum[year] $datum[hours]:$datum[minutes]"
    ps: Verwende bitte die Code-Formatierung wenn du welchen postest, das kann man sonst so schlecht lesen.
    Geändert von cameeel (07.09.08 um 16:41 Uhr)
     
    Nein, ich bin nicht die Signatur, ich putz hier nur.

    URL's kürzen | Code's speichern

  6. #6
    räkor räkor ist offline Rookie
    Registriert seit
    Sep 2008
    Beiträge
    6
    Hallo nochmal,
    genial, Dein Tip funktioniert fast schon perfekt: Ich habe also

    PHP-Code:
    $datum getdate($daten->id); 
    gegen

    PHP-Code:
    $ndate getdate($daten->timestamp); 
    ausgetauscht. Und siehe da, ich bekomme ein Datum:

    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.
     

  7. #7
    räkor räkor ist offline Rookie
    Registriert seit
    Sep 2008
    Beiträge
    6
    Wow, Problem gelöst. Ich habe soeben rausgefunden, das ich keinen Timestamp habe, sonder die ID umwandele. Also habe ich

    PHP-Code:
    $ndate getdate($daten->timestamp); 
    zu

    PHP-Code:
    $ndate getdate($daten->id); 
    gemacht. Kaum macht mans richtig, schon funktionierts....

    Ich bedanke mich ganz herzlich für die nette Hilfe und wünsche noch nen schönes Restwochenende!!
     

Ähnliche Themen

  1. [MySQL] Datetime nur Datum ausgeben
    Von keks1984 im Forum Relationale Datenbanksysteme
    Antworten: 8
    Letzter Beitrag: 11.01.08, 11:28
  2. MySQL: Datensätze nach Datum ausgeben
    Von Bicko im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 05.10.06, 21:08
  3. Datum mit MySQL auslesen und jahrweise ausgeben
    Von Rasenkantenstein im Forum PHP
    Antworten: 11
    Letzter Beitrag: 27.10.05, 10:27
  4. Antworten: 2
    Letzter Beitrag: 09.04.05, 17:07
  5. MySQL -> Geburtstagskalender / Nächstes Datum ausgeben
    Von Rasenkantenstein im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 07.09.04, 10:31