Gästebuch - Datum und keine Eingabe

so wie es im moment ist, wird der 01.01.1970 - 01:00 angezeigt.
Bei einer anderen Möglichkeit, die ich ausprobiert habe war es wieder immer das aktuelle Datum.
 
ganz klar:

PHP:
while($row = mysql_fetch_array($abfragen))
    {
    $name1 = $row["name"];
    $wohnort1 = $row["wohnort"];
    $email1 = $row["email"];
    $homepage1 = $row["homepage"];
    $kommentar1 = $row["kommentar"];
    $id = $row["id"];
// HIER DIESE ZEILE MUSST DU ÄNDERN
    $datum = $row["datum"];
    
    $datum1 = date("d.m.Y - H:i", $datum);
    $datum1 .=" Uhr";
    $kommentar1 = nl2br($kommentar1);
    
    //Im Kommentar wird automatisch nach 65 zeichen ein Zeilenumbruch eingefügt
    $kommentar1 = wordwrap($kommentar1, 65, "<br>\n", 1);


    echo "<table align='center' border='0' width='90%' cellpadding='1' cellspacing='1'>";
    echo "<tr>";
    echo "<td bgcolor='#FF962D' width='10%'>Nr. $id</td>";
    echo "<td bgcolor='#8EE6E6' width='65%'><a href='mailto:$email'>$name1</a> aus $wohnort1</td>";
    echo "<td bgcolor='#5FC44D' width='10%'><div align='center'><a href='http://$homepage1'><img src='homepage.gif' alt='zur homepage von $name1' border='0'></a></div></td>";
    echo "<td bgcolor='#E73930' width='15%'><font size='-1'>$datum1</font></td>";
    echo "</tr>";
    echo "</table>";

    echo "<table align='center' border='0' width='90%' cellpadding='1' cellspacing='1'>";
    echo "<tr>";
    echo "<td bgcolor='#ff00ff' width='85%'>$kommentar1</td>";
    echo "<td bgcolor='#008000' width='*'>&nbsp;</td>";
    echo "</tr>";

    echo "</table>";
    echo "<br>\n";
    
    }



also $datum = $row["datum"];
anstatt $datum = $row["timestamp"];

hast den falschen Spaltennamen genommen ;)
 
Zuletzt bearbeitet:
mach mal aus
PHP:
$eintrag = "INSERT INTO gaestebuch (name, wohnort, email, datum, homepage, kommentar)
            VALUES ('$name', '$wohnort', '$email', '$timestamp', '$homepage', '$kommentar')";

das

PHP:
$eintrag = "INSERT INTO gaestebuch (name, wohnort, email, datum, homepage, kommentar)
            VALUES ('$name', '$wohnort', '$email', UNIX_TIMESTAMP(), '$homepage', '$kommentar')";

dann solltest du noch ein ID Feld in deiner Datenbank erstellen mit autoincrement und als Primary Key definieren

dann müsste das auch klappen
 
Hi
Ich habe das nächste Problem:
Mittels eines Formulars kann ich einzelne Einträge löschen. Das klappt ja auch ganz gut. Sind aber beispielsweise 3 Einträge vorhanden und ich lösche Eintrag 1, dann möchte ich dass der bisherige Eintrag mit der ID 2 jetzt zum Eintrag mit der ID 1 wird und Eintrag 3 zu Eintrag 2.
Hier der Code:
PHP:
<?php
include("../dbconnect.php");

$delid = $_REQUEST["delid"];

$loeschen = "DELETE FROM gaestebuch WHERE id = '$delid'";
mysql_query($loeschen);


if($loeschen)
	{
	echo "Eintrag $delid gelöscht";
	}
else
	{
	echo "Fehler";
	}






?>
 
aber ich glaube nicht, dass das Sinn macht. Sobald die ids einmal geändert wurden, und ein neuer Eintrag geschrieben wird, hat er wahrscheinlich eine falsche ID-Nummer.

Beispiel: du hast 3 Einträge, mit den IDs 1,2 und 3. du löschst Eintrag mit id nummer 1. Nun hast du nich Einträge mit Id Nummern 2 und 3. Diese änderst du in 1 und 2.
Sobald ein neuer Eintrag kommt, hat er allerdings ID Nummer 4, da das so im auto_increment gespeichert ist... du müsstest also noch bei der GB-Eintragung die nächsthöchste ID ermitteln und diese ID im mysql_query mitangeben.

hoffe du konntest mir folgen...
 
Es klappt! Danke!:-) :-)
Wozu das? Ganz einfach: Weil man wegen der ID sehen kann der wievielte Eintrag das ist.

//edit: zu deinem 2ten Beitrag: Verstanden hab ichs, jetzt muss ichs nur noch umsetzen!:-)
 
ich würde es allerdings anders (einfacher ;) ) lösen:

PHP:
...
// HIER NE ÄNDERUNG
$eintrag_nr = 1;
while($row = mysql_fetch_array($abfragen))
    {
    $name1 = $row["name"];
    $wohnort1 = $row["wohnort"];
    $email1 = $row["email"];
    $homepage1 = $row["homepage"];
    $kommentar1 = $row["kommentar"];
    $id = $row["id"];
    $datum = $row["timestamp"];
    
    $datum1 = date("d.m.Y - H:i", $datum);
    $datum1 .=" Uhr";
    $kommentar1 = nl2br($kommentar1);
    
    //Im Kommentar wird automatisch nach 65 zeichen ein Zeilenumbruch eingefügt
    $kommentar1 = wordwrap($kommentar1, 65, "<br>\n", 1);


    echo "<table align='center' border='0' width='90%' cellpadding='1' cellspacing='1'>";
    echo "<tr>";
// HIER NE ÄNDERUNG
    echo "<td bgcolor='#FF962D' width='10%'>Nr. $eintrag_nr</td>";
    echo "<td bgcolor='#8EE6E6' width='65%'><a href='mailto:$email'>$name1</a> aus $wohnort1</td>";
    echo "<td bgcolor='#5FC44D' width='10%'><div align='center'><a href='http://$homepage1'><img src='homepage.gif' alt='zur homepage von $name1' border='0'></a></div></td>";
    echo "<td bgcolor='#E73930' width='15%'><font size='-1'>$datum1</font></td>";
    echo "</tr>";
    echo "</table>";

    echo "<table align='center' border='0' width='90%' cellpadding='1' cellspacing='1'>";
    echo "<tr>";
    echo "<td bgcolor='#ff00ff' width='85%'>$kommentar1</td>";
    echo "<td bgcolor='#008000' width='*'>&nbsp;</td>";
    echo "</tr>";

    echo "</table>";
    echo "<br>\n";
// HIER NE ÄNDERUNG
    $eintrag_nr++;
    }

da musst du glaub ich gar nicht soviel (umständliche) DB-Änderungen machen
 
Zurück