Datumausgabe in meinem Script

einfachder

Mitglied
hi!
also ich habe so eine privat shoutbox / terminplaner script.
sieht so aus:
http://evia-complex.de/shoutbox2.jpg

ich möchte jedoch ein datum mit ausgeben ich weiss aber nicht wie ich das machen soll :(
also in der datenbank hab ich schon ein Timestamp Feld und auch ein Datetime Feld!

hier das script:

PHP:
<?php
include("config.php");

if(isset($_GET['action']))
{
    $action = $_GET['action'];
}
else
{
    $action = 'show';
}

if($action == 'show' or $action == 'showall')
{
    ?>
    
    <!-- Formfelder -->
        <form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
        Titel:<br />
        <input type="text" value="" name="input_title" maxlength="<?php echo $maxlength_titel; ?>" /><br />
        Beitrag:<br />
        <input type="text" value="" name="input_article" maxlength="<?php echo $maxlength_article; ?>" /><br />
        <input type="submit" value="fertig" />
        </form>
    <!-- Formfelder Ende -->
    
    <?php
    // Die Links, ob alle Beiträge angezeigt werden sollen oder nicht
    if($action == 'showall')
    {
      ?><!--<a href="<?php echo $_SERVER["PHP_SELF"]; ?>">Kompakt</a>--><?php
    }else{
      ?><!--<a href="<?php echo $_SERVER["PHP_SELF"]; ?>?action=showall">Alle Beiträge anzeigen</a>--><?php
    }
    
    //neuen Beitrag einfügen
    $input_title = $_POST["input_title"];
    $input_article = $_POST["input_article"];

    $result = @mysql_query("SELECT title,article FROM $db_table ORDER BY id DESC LIMIT 0,1");
    $row = @mysql_fetch_array($result);

    if($row["title"] != $input_title || $row["article"] != $input_article)
    {
        @mysql_query("INSERT INTO $db_table (title,article) VALUES ('$input_title','$input_article')");
    }
    
    $SQL = "SELECT * FROM $db_table ORDER BY id DESC";
    if($action != 'showall')
    {
        $SQL .= " LIMIT 0,$beitraglimit";
    }
    //Ausgabe der Beiträge
    $result = @mysql_query($SQL);
    while($row = @mysql_fetch_array($result))
    {
        ?>

        <!-- Alle Beiträge anzeigen -->        
        <p>
        <strong><?php echo $row["title"]; ?></strong>
        <br />
        <?php echo $row["article"]; ?>
        <br />
        <a href="<?php echo $_SERVER["PHP_SELF"].'?action=del&id='.$row["id"]; ?>">löschen</a>
        </p>
        <!-- Alle Beiträge anzeigen Ende -->    

        <?php
    }
}
elseif($action == 'del') {
    if(!is_numeric($_GET['id']))
    {
        die('ID Fehlerhaft!');
    }
    $id = $_GET['id'];
    @mysql_query("DELETE FROM $db_table WHERE `id`= $id") or die('Loeschen fehlgeschlagen');
    echo 'Entrag mit ID '.$id.' erfolgreich geloescht!';
}
elseif($action == 'install')
{
    //Tabellen erstellen
    @mysql_query("CREATE TABLE $db_table (id INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,title VARCHAR(255) NOT NULL,article VARCHAR(255) NOT NULL);") or die ("Creating table failed: ".@mysql_error());
    ?>
    Tabellen wurden erfolgreich erstellt. <a href="<?php echo $_SERVER["PHP_SELF"]; ?>">Weiter...</a>
    <?php
}
else
{
    ?>
    <a href="<?php echo $_SERVER["PHP_SELF"]; ?>">Weiter...</a>
    <?php
}  
@mysql_close();
?>
 
Hi,
Du könntest mittels time() einen Timestap in die Datenbank eintragen, welchen Du dann, beim Auslesen, mittels date() formatierst. Für weitere Infos schaust Du am besten dort:
http://de.php.net/date

Grüße
Max
 
Okay, es funktioniert jetzt die Lösung dafür war so
PHP:
SELECT DATE_FORMAT(dasdatum,'%W %M %Y') AS dasdatum, title, article FROM $db_table ORDER BY id DESC

Findet noch jemand den letzten Fehler in meinem Script? Dann wär das Ganze gelöst...
Problem: Sobald ich die Seite aufrufe, fügt er einen LEEREN Eintrag hinzu (Datum und löschen-link stehen aber da). Wenn ich diesen Eintrag löschen will, sag mir mein Script "ID Fehlerhaft" .. Kann es nur über die Datenbank löschen.
Wenn ich z.B. noch einmal auf die Seite gehe, fügt er aber keinen neuen Beitrag hinzu, immer nur einmal den Leeren da.
Wenn ich jetzt einen Beitrag schreibe, dann wird der Beitrag schön und gut gepostet, aber wenn ich die Seite jetzt nochmal ausführe (nicht aktualieseren) per Enter Taste in der Statuszeile, fügt er wieder nen Leeren Eintrag mit einer ungültigen ID ein .. Die ID ist in der Datenbank vorhanden, aber wie gesagt, wenn ich es löschen will, dann sagt es ID Fehlerhaft.
Da muss ein Fehler in meinem delete query sein oder?
gruß
 
Zuletzt bearbeitet:
also, was genau muss, ich machen, in der datenbank ein TIME Feld anlegen oder ein TIMESTAMP ?

und wie INSERTe ich das dann? mit time() ? oder mit now() ?

gruß
 
Mach einfach ein INTEGER-Feld (INT). Da kannst Du dann bequem die Zahlen eintragen.

In Sachen INSERT-Query (`timestap`ist der Feldname):
PHP:
mysql_query("INSERT INTO `tabellenname` (`timestap`) VALUES ('".time()."')");

Grüße
Max
 
Zurück