xp-user
Goto Top

Simple E-Mail Benachrichtigung bei einem Eintrag in eine Mysql Tabellen Spalte

Hallo zusammen,

Ich habe eine MySql Datenbank mit diversen Tabellen. Nun benötige ich ein simples Script, welches mir eine E-Mail schickt, wenn in einer speziellen Spalte einer Tabelle eine Änderung vorgenommen wurde.

Das Script würde dann mit einem Cron Job einmal täglich abgerufen werden, worauf dann wie gesagt eine E-Mail mit der Änderung geschickt werden würde.

Wer weiss wie das geht?

Content-ID: 197153

Url: https://administrator.de/contentid/197153

Ausgedruckt am: 22.11.2024 um 07:11 Uhr

it-frosch
it-frosch 17.01.2013 aktualisiert um 14:28:04 Uhr
Goto Top
Hallo xp-user,


wenn in einer speziellen Spalte einer Tabelle eine Änderung vorgenommen wurde.
Für so etwas nimmt man Trigger die auf der entsprechenden Tabelle sitzen und bei besagter Änderung (INSERT, DELETE, UPDATE) eine Aktion auslösen.

Du könntest, da du ja nicht erklärst welche Änderungen du überwachen willst, auf alle deiner Tabellen Trigger (INSERT / UPDATE / DELETE) setzen, die dann bei der jeweiligen Änderung einen Datensatz in eine Log Tabelle schreiben.
Diese Log Tabelle kannst du dann über ein Script via Cronjob auslesen und dir zuschicken lassen.

Natürlich sind so viele Trigger für die Performance nicht so günstig. Also überlege dir genau was du eigentlich überwachen willst.

grüße vom it-frosch
xp-user
xp-user 17.01.2013 um 15:23:06 Uhr
Goto Top
Hallo it-frosch

Vielen Dank für deine Antwort.

Es handelt sich um einen Shop, wo der Kunde die Möglichkeit hat einen Eintrag auf "on" zu stellen. Also in der Tabelle steht nichts drin, oder "on". Nur leider erhält man keine Benachrichtigung wenn der Kunde diese Änderung vornimmt. Ich habe mir jetzt die Tabelle ausgegeben mit allen Kunden, welche diesen Eintrag auf on haben, nur ist das mühsam, da ich täglich nachschauen müsste, ob neue Kunden oder bestehende Kunden diese Option auf on stellen. ...

Ich denke der Trigger müsste in dem Falle INSERT / UPDATE / DELETE auf diese eine Tabelle respektive die eine Spalte in dieser Tabelle angewendet werden.

Hab mich bis heute noch nicht mit Trigger beschäftigt. Werde mich mal durch Google schlau machen, ob es da allenfalls schon so etwas gibt.

face-smile nochmals herzlichen Dank

Es grüsst, Xp-user der heute mit Mac arbeitet.
it-frosch
it-frosch 17.01.2013 um 16:36:24 Uhr
Goto Top
Hallo xp-user,

wenn in einem existierenden Datensatz nur der Schalter gesetzt wird dann brauchst du eine Update Trigger. Wird hingegen ein neuer Datensatz in der Tabelle angelegt dann ist der Insert Trigger notwendig.

Der Trigger wird auf die Tabelle gesetzt und du kannst dann die Spalte angeben, die geprüft werden soll.

Schau mal hier, das dürfte genau das sein, was du willst. face-wink
http://bytes.com/topic/mysql/answers/726296-sending-e-mails-through-mys ...

grüße vom it-frosch
xp-user
xp-user 18.01.2013 um 07:49:58 Uhr
Goto Top
Hat funktioniert. Vielen Dank it-frosch