Antworten auf deine Fragen:
Neues Thema erstellen

Datumausgabe in meinem Script

einfachder

Nicht mehr ganz neu hier

hi!
also ich habe so eine privat shoutbox / terminplaner script.
sieht so aus:


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();
?>
 

Jens_S

Nicht mehr ganz neu hier

AW: Datumausgabe in meinem Script

Mit now() kannst du ein Datum mit Zeit in der Datenbank speichern.
Ich weiß jetzt nicht aus dem Kopf wie der eintrag in der Datenbank heißt aber ein date Feld müsste es sein.
PHP:
@mysql_query("INSERT INTO $db_table (title,article,datum) VALUES ('$input_title','$input_article',now())");

So sollte es funktionieren.
 

einfachder

Nicht mehr ganz neu hier

AW: Datumausgabe in meinem Script

also ich habe die funktion now() verwendet
PHP:
mysql_query("INSERT INTO $db_table (title,article,dasdatum) VALUES ('$input_title','$input_article',now())");
und er fügt auch das aktuelle datum & zeit in die datenbank ein.

so dann gebe ich es aus mit
PHP:
<?php echo(date("m.d.Y H:i:s",$row["dasdatum"])); ?>

ABER er zeigt seltsamerweise dieses Datum an:
01.01.1970 01:33:29

warum?

gruß
 

Jens_S

Nicht mehr ganz neu hier

AW: Datumausgabe in meinem Script

Die date funktion würde ich da auch nicht benutzen weil die ja das aktuelle Datum ausgibt normalerweise.
Einfach nur die Spalte in der Datenbank auslesen und anzeigen lassen, wie die Beiträge usw.
 

einfachder

Nicht mehr ganz neu hier

AW: Datumausgabe in meinem Script

ja du hast vollkommen recht jetzt klappt es auch...
aber wie kann ich die ausgabe beeinflussen, also y,m,d h,m,s ??
gruß & thx


edit:
also ich müsste ja irgendwo date_format mit einbringen bei select
Aber wo genau hier muss ich das hinschreiben:
PHP:
$SQL = "SELECT * FROM $db_table ORDER BY id DESC";
 
Zuletzt bearbeitet:

r3nt5ch3r

~ Allround pG ~

AW: Datumausgabe in meinem Script

Speichere einen Timestamp in die Datenbank (PHP: time - Manual) und gib ihn danach formatiert aus mit PHP: date - Manual...

(btw informier dich ma über sql-injections und templatesystemen und oop und redundanzfreies programmieren usw... dein skript ist echt unsicher und unsauber xD)
 
Zuletzt bearbeitet:

einfachder

Nicht mehr ganz neu hier

AW: Datumausgabe in meinem Script

ja das mit den injections ist erstmal unwichtig, das script ist ja nicht für die öffentlich keit.

deine manuals bringen mich auch nicht weiter, da ich die date() funktion ja erst garnicht verwende ... :/
oder wie

edit:
wie verwende ich das DATE_FORMAT im SELECT ?
:/
 
Zuletzt bearbeitet:

einfachder

Nicht mehr ganz neu hier

AW: Datumausgabe in meinem Script

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ß
 

Christian

verpeilt & verschallert

AW: Datumausgabe in meinem Script

schau mal ob das geht:
SELECT CAST(dasdatum AS DATE) as mein_datum FROM meine_tabelle

sehe, hat sich ja schon erledigt
 

einfachder

Nicht mehr ganz neu hier

AW: Datumausgabe in meinem Script

EDIT:
Das Problem wurde gelöst mit der if Zeile
PHP:
//neuen Beitrag einfügen
    if(isset($_POST['submit'])) {   
    $input_title = $_POST["input_title"];
    $input_article = $_POST["input_article"];

danke nochmal.
 

Jens_S

Nicht mehr ganz neu hier

AW: Datumausgabe in meinem Script

Damit habe ich mich noch nie richtig beschäftigt.
Ich hätte explode() benutzt um das alles zu formatieren.
 

Duddle

Posting-Frequenz: 14µHz

AW: Datumausgabe in meinem Script

Ersetz mal die Zeile
PHP:
mysql_query("INSERT INTO $db_table (title,article,dasdatum) VALUES ('$input_title','$input_article',now())");
mit
PHP:
mysql_query("INSERT INTO $db_table (title,article,dasdatum) VALUES ('$input_title','$input_article',now())") or die(mysql_error());
Dann füg einen Beitrag ein und wenn er mit nem Fehler abbricht (was sicher passiert), dann wirf ihn mal hier rein (falls du selbst nicht erkennst was da passiert ist).


Duddle
 

einfachder

Nicht mehr ganz neu hier

AW: Datumausgabe in meinem Script

das problem wurde von jemandem behoben, da war so einiges falsch :( ... aber jetzt funktioniert es.
das mit dem datum auch...
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben