Änderungen der Tabelle "orders" erkennen?

Thema wurde von Manni_HB, 19. Juni 2014 erstellt.

  1. Manni_HB
    Manni_HB G-WARD 2012/13/14/15
    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Und hier wieder eine der beliebten "MannisFrühmorgenKopfnussFragen" :eek:

    Wie könnte man es anstellen, Änderungen an der "orders" (Neue Best., Best. geändert, storniert,...) nur Tagesbezogen festzustellen?

    Ergebnis sollte sein: "Hallo, am 05.05.14 wurde eine Bestellung (welche ist Wurscht) geändert."

    Zielführende Tipps dürfte, ob dieser präzisen Aufgabenbeschreibung, für die Experten ein Klacks sein.


    PS: NEIN - es dreht sich nicht um die sinnfreie Ausgabe o.g. Textes!
     
  2. Anonymous
    Anonymous Erfahrener Benutzer
    Mitarbeiter
    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.749
    Danke vergeben:
    137
    Moin,

    also, wenn wir mal unterstellen, dass die last_modified-Spalte sinnvolle Daten enthält, können wir z.B. so etwas machen:

    Code:
    SELECT
      `orders_id`, `last_modified`, `date_purchased`
    FROM
      `orders`
    WHERE 
      (`last_modified` BETWEEN '2014-06-18 00:00:00' AND '2014-06-18 23:59:59') OR
      (`last_modified` IS NULL AND `date_purchased` BETWEEN '2014-06-18 00:00:00' AND '2014-06-18 23:59:59')
    
    Das Problem ist nur, dass man das Aktualisieren von orders.last_modified allzu leicht vergisst, wenn man z.B. nur orders_products oder sogar orders_status_history manipuliert. Deswegen ist orders.last_modified nur so semi-zuverlässig.
     
  3. Manni_HB
    Manni_HB G-WARD 2012/13/14/15
    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Moin Marco,
    ja - das hat schon was.

    Bleibt die generelle Frage:
    Wie kann das im Hintergrund "überwacht" werden, damit bei einem "orders-Veränderungs-Ereignis" z.B. eine andere DB aktualisiert wird?
     
  4. Anonymous
    Anonymous Erfahrener Benutzer
    Mitarbeiter
    Registriert seit:
    22. Juni 2011
    Beiträge:
    4.760
    Danke erhalten:
    1.749
    Danke vergeben:
    137
    Hallo,

    was dir vorschwebt, müsste man mit einem Trigger realisieren können. Da sind wir aber jetzt deutlich jenseits dessen, was ich mal eben aus dem Ärmel schütteln kann. Das erfordert seitens der Datenbank auch, dass man überhaupt für die Verwendung von Triggern freigeschaltet ist; das ist nicht unbedingt bei jedem Webhoster der Fall, weswegen wir solche Sachen im Shopsystem nicht verwenden.

    Wenn man einen Root-Server hat und in diesen Dingen sein eigener Herr ist, spricht eigentlich nichts dagegen, an die Gambio-Tabellen eigene Trigger anzuhängen, die Zugriffe in separate Tabellen loggen.
     
  5. Manni_HB
    Manni_HB G-WARD 2012/13/14/15
    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Und das ist der sauböse Haken an eine guten Idee - es sollte auf jedem NoNameSpielUndBastelBilligServer funktionieren! :(
     
  6. Avenger
    Avenger G-WARD 2012/13/14/15
    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Das kann man auch mit einem jQuery/AJAX-aktivierten Programm machen, das regelmäßig gestartet wird, nachschaut, ob was geändert wurde und dann entsprechende Aktionen durchführt.
     
  7. Manni_HB
    Manni_HB G-WARD 2012/13/14/15
    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    1.) Ich habe gehofft dass Du dies schreibst.
    2.) Du steuerst geradewegs auf einen Auftrag zu! Kategorie: Fingerwärmer vor´m ersten Morgenkaffee. :)
     
  8. Avenger
    Avenger G-WARD 2012/13/14/15
    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Das gibt es ja schon....

    Der "Admin-Timeout-Cheater" macht genau so was:

    periodisch ein PHP-Programm (ping.php) starten.

    Kannst Du also für Deine Zwecke abwandeln.

    Auch sollte man die Aktivierungszeit im Skript höher als 5 Sekunden setzen (5000).

    Eine Minute hat da z.B. den Wert 60000.
     
  9. Manni_HB
    Manni_HB G-WARD 2012/13/14/15
    Registriert seit:
    26. April 2011
    Beiträge:
    9.098
    Danke erhalten:
    1.540
    Danke vergeben:
    909
    Ort:
    Bremen
    Stimmt - gute Idee!
    Habe datt Gerät jetzt mal a´bisser angepasst ... u.a. mit einer sichtbaren Anzeige des <iFrame>.
    Dabei fällt auf, dass es nur auf der Admin-Startseite erscheint.
    Arbeitet datt Dingens sonst nicht? <Grübel ON>