Änderungsjornal

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Änderungsjornal

    Hallo,

    ich habe eine Mysql-DAtenbank, die ich mit php verwalte
    Jetzt würde ich gerne ein Änderungsjournal machen, wo dann alle Tätigkeiten an der Datenbank aufgelistet sind, also wenn man z.b. etwas neu gespeichrt hat oder geändert oder so.

    Meine Frage ist, ob sowas überhaupt geht, und wenn ja wie ich anfangen soll, hab nämlich keine Ahnung.

    Es wäre schön, wenn mir das jemand detailiert erklären würde oder gibt es vielleicht so ein beispielskript.

    Vielen Dank!

  • #2
    am günstigsten ist es, wenn man zur interaktion mit der db eine klasse verwendet, an die man eine log-funktion dazuschrauben kann. wie läuft es denn bei dir ab?

    Kommentar


    • #3
      naja, müsstest halt nochmal ne Kopie der Tabelle(n) anlegen. da noch ne zusätzliche Spalte TIMESTAMP mit CURRENT_TIMESTAMP als Standard-Wert.

      Wenn du dann in deinem Adminbereich einen Eintrag änderst, musst du vor der UPDATE-Query noch eine INSERT INTO SELECT-Query ausführen, die den aktuellen Stand in die neue Zusatz-Tabelle überführt.

      Schon hast du dein Änderungs-Jornal. Automatisch kann MySQL das afaik nicht.

      *move* ins DB-Forum

      EDIT:
      Oder so wie oben beschrieben, das spart dir den Select, dafür hast du den aktuellsten Eintrag immer redundant gespeichert. Find ich persönlich nicht so schön, kann aber performanter bei der Anzeige sein.
      Zuletzt geändert von TobiaZ; 03.08.2007, 13:26.

      Kommentar


      • #4
        Ich habe noch keine Klassen verwendet, mache das immer mit einfachen PHP skripten, wo ich dann die sql-anweisungen an mysql schicke.

        Ich beschäftige mich mit PHP und Mysql erst seit ein paar Monaten, deshalb bin ich noch nicht so gut darin.

        Penicillin vielleicht könntest du mir das etwas ausführlicher beschreiben, wie ich das machen muss, da ich das nicht so richtig verstanden habe.

        ich würde mich sehr freuen.
        danke

        Kommentar


        • #5
          Werd mal konkret, was hast du nicht verstanden?

          Generell: als erstes müsstest du dich mal um eine Klasse kümmern. Wenn du die hast und uns sagen kannst, wie diese funktioniert. können wir dir sagen, wie du sie erweitern musst.

          wenn du das Jornal nur für ein oder zwei Tabellen führen willst, lohnt sich das auch gar nicht unbedingt. da bist du mit meinem insert-select statement, bzw. nem zweiten insert-statement viel schneller an deinem ziel.

          Kommentar


          • #6
            Guck dir mal Trigger an - mit denen lässt sich das gewünschte Verhalten erreichen.
            Informiere dich nur vor allem darüber, ob dein Hoster diese zulässt - all-inkl tut es zum Beispiel nicht, weil man am Anfang von Version 5 noch das SUPER-Recht braucht, da das separate Trigger-Recht erst mit (aktuellen?) Beta eingeführt wurde - und die Beta-Version wollen sie wiederum nicht installieren. (Kann aber auch sein, dass die Version mittlerweile stable ist, ich gucke nicht regelmäßig nach Updates bei mysql ... kannst dich ja mal informieren)

            Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

            bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
            Wie man Fragen richtig stellt

            Kommentar

            Lädt...
            X