tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
4096
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    hartgendorn hartgendorn ist offline Grünschnabel
    Registriert seit
    Apr 2005
    Beiträge
    1
    Hallo,

    vielleicht einfach - bestimmt sogar -, aber ich finde die Funktion nicht.

    Gibt es in MYSQL die Möglichkeit, das Änderungsdatum einer Tabelle herauszufinden? Ich möchte nämlich gerne bei der Ausgabe die ANzeige "Stand: tt.mm.jjjj" mit aufführen. Bei phpmyadmin finde ich eine solche Angabe, weiß aber nicht, wie es gemacht wird.

    Oder muss ich es über ein zusätzliches Feld realisieren und die aktuelle Zeit eintragen?

    Danke!
     

  2. #2
    Registriert seit
    Mar 2004
    Ort
    Tiefste Provinz
    Beiträge
    304
    Code :
    1
    
    SHOW TABLE STATUS LIKE 'tabellenname'
    Dann das Feld `Update_time` auslesen.
     

  3. #3
    Mike Rofon Mike Rofon ist offline Mitglied Silber
    Registriert seit
    Sep 2005
    Beiträge
    69
    Ich hab das mal probiert... aber

    $test = "SHOW TABLE STATUS LIKE 'tabellenname' ";
    $testresult = mysql_query ($test, $verbindung) or die (fehlerMeldung (__LINE__, $sql));
    echo "Letztmalig aktualisiert am " . date("d.m.Y H:i", $Update_time);

    liefert mir den 1.1.1970. Was mach ich falsch?
     

  4. #4
    heddesheimer heddesheimer ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    217
    aber: zeigt denn das Feld update_time nicht nur an, wann die Tabelle selbst das letzte Mal geändert wurde.

    Ich habe die Frage eher so verstanden, dass der aktuelle Stand der eingetragenen Daten angezeigt werden soll. Muss man da nicht ein Feld vom typ TIMESTAMP einfügen, dass dann bei Neueintrag oder Änderung von Daten automatisch den aktuellen Timestamp speichert?

    Gruß Marian
     
    Weblog zum Thema Lernen: http://www.lernpilot.de/blog/
    Weblog über Internet-Programmierung: http://www.heddesheimer.de/blog/

  5. #5
    Registriert seit
    Mar 2004
    Ort
    Tiefste Provinz
    Beiträge
    304
    Hallo,

    @heddesheimer:
    Zitat aus der MySQL-Doku (http://dev.mysql.com/doc/mysql/en/sh...le-status.html):
    Update_time
    When the data file was last updated.
    Bei MyISAM-Tabellen wird mit jeder Änderung an den Daten das Datei-Datum verändert, damit müsste das eigentlich passen. Wie das bei InnoDB ist, weiß ich nicht so recht...

    @Mike Rofon:
    Du machst die Abfrage (mysql_query) und dann wandelst Du die offensichtlich bis dahin nicht existierende Variable $Update_time mit date() in ein Datum um? Hä?
    Also ich fürde das eigentlich so machen:
    PHP-Code:
    $test "SHOW TABLE STATUS LIKE 'tabellenname' ";
    $testresult mysql_query ($test$verbindung) or die('Fehler: ...');
    $row mysql_fetch_assoc($testresult);
    $datum $row['update_time'];
    mysql_free_result($testresult);
    echo 
    "Letztmalig aktualisiert am " $datum
    Grüße,
    Martin
     

  6. #6
    heddesheimer heddesheimer ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    217
    Update_time
    When the data file was last updated.
    Stimmt, mit MySQL 4.1 funktioniert das. Ich hatte es mit MySQL 3.23 probiert und da klappte es noch nicht.

    Gruß Marian
     
    Weblog zum Thema Lernen: http://www.lernpilot.de/blog/
    Weblog über Internet-Programmierung: http://www.heddesheimer.de/blog/

  7. #7
    Mike Rofon Mike Rofon ist offline Mitglied Silber
    Registriert seit
    Sep 2005
    Beiträge
    69
    kommt leider keine Datums-ausgabe...
    Kann aber daran liegen daß der MySQL-Server ne Version 3.x ist.... hatte ich vergessen dazu zu sagen... sorry
     

  8. #8
    heddesheimer heddesheimer ist offline Mitglied Gold
    Registriert seit
    Jul 2005
    Beiträge
    217
    in dem Fall kannst du in der Tabelle eine Spalte vom Typ TIMESTAMP z.B. mit dem Namen last_update anlegen. Bei MySQL 3.x wird die erste Spalte mit diesem Typ automatisch aktualisiert, wenn Daten geändert oder eingefügt wurden.

    Um das letzte Datum abzurufen machst du diese Abfrage:

    Code :
    1
    2
    3
    4
    
    select 
    max(last_update) as datum 
    from tabelle 
    group by last_update

    in dem Ergebnisfeld "datum" steht dann der gesuchte Timestamp im Format YYYYMMDD

    Gruß Marian
     
    Weblog zum Thema Lernen: http://www.lernpilot.de/blog/
    Weblog über Internet-Programmierung: http://www.heddesheimer.de/blog/

  9. #9
    Mike Rofon Mike Rofon ist offline Mitglied Silber
    Registriert seit
    Sep 2005
    Beiträge
    69
    Vielen Dank für die Beteiligung hier... habe eine Lösung gefunden.
     

  10. #10
    schlittenbacher Tutorials.de Gastzugang
    Hallo zusammen.

    Ich habe das gleiche Problem und habe mit den Hinweisen hier versucht, zu einer Lösung zu kommen. Mit Müh' und Not habe ich das Script soweit umgesetzt, dass es läuft - jedoch auch ohne ein Datum auszugeben. Die Select-Anweisung "Last-Datum" verstehe ich nicht. Kann hier jemand ein vollständiges Scipt einstellen? Wie ist der Wert "$verbindung" zu verstehen? Wie muss der Wert aussehen?
     

  11. #11
    Avatar von Yaslaw
    Yaslaw Yaslaw ist offline n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    5.205
    Manchmal postet man hier Beispiele ohne korrekte bezeichnung. last_datum steht da stellvertrettend für den Feldnamen des zu prüfenden Datums.

    $verbindung ist eine Variable in PHP. Ich denke es beinhaltet die Connection zur DB die mit mysql_connect() geöffnet und mit mysql_select_db() die DB ausgewählt wurde.
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben

Ähnliche Themen

  1. Letzte Zeile einer Tabelle auslesen
    Von Dommas im Forum .NET Web und Kommunikation
    Antworten: 2
    Letzter Beitrag: 29.10.07, 23:51
  2. Letzte ID aus einer Tabelle auslesen
    Von PHPneu1 im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 18.01.05, 16:56
  3. mySQL - Datum in Tabelle ändern
    Von zomed im Forum Relationale Datenbanksysteme
    Antworten: 14
    Letzter Beitrag: 11.10.04, 12:25
  4. Datum aus MySQL-Tabelle
    Von mC pAiN im Forum PHP
    Antworten: 3
    Letzter Beitrag: 17.07.03, 12:23
  5. Antworten: 13
    Letzter Beitrag: 01.04.02, 16:37