Trigger Update

Cedric_A
Invité n'ayant pas de compte PHPfrance

05 avr. 2012, 19:05

Bonjour tout le monde,

Je vous explique mon problème :
Je suis en train de créer des trigger pour que lorsque un champs est modifié dans la BDD, je reçoive un courriel.
Cependant, je coince un peu D:

Donc si vous pouvuiez m'orienter cela serait sans refus.

Code : Tout sélectionner

<?php $link = mysqli_connect("localhost", "user", "", "nom_table"); if (mysqli_connect_errno()) { echo mysqli_connect_error(); exit(); } else { echo 'Ok!<br>'; } $query = 'CREATE TRIGGER Statut_Update AFTER UPDATE ON Notif FOR UPDATE BEGIN // Ici je ne sais pas quoi mettre //Peut on faire appel a des fonctions comme la fonction mail()? END;'; $result = mysqli_query($link, $query); echo mysqli_error($link); mysqli_close($link); ?>

Voila, merci d'avance.
Si vous avez des questions, je suis là! :D

ViPHP
ViPHP | 1996 Messages

05 avr. 2012, 20:49

Je connais pas trop ce genre de trigger (en biologie oui mais pas en php lol) mais je suppose que tu peux utiliser des fonctions.
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Cedric_A
Invité n'ayant pas de compte PHPfrance

05 avr. 2012, 20:55

Bonjour merci de votre réponse.
Mais, vous auriez pas une idée pour que je reçoive un courriel lorsque un champs de ma table est modifié?!

Merci d'avance: :mrgreen:

ViPHP
xTG
ViPHP | 7331 Messages

05 avr. 2012, 21:24

Non, un trigger peut appeler une procédure stockée mais une procédure SQL !
Or le SQL ne permet pas l'envoi de mail, uniquement des actions sur les données du sgbd.

Par contre tu peux mettre à jour un champ, faire un script PHP qui cherche après cette valeur modifiée et qui envoie un email.
Il suffit ensuite de faire une tâche Cron (ou tâche planifiée sous serveur windows) qui exécutera ce script PHP toutes les X mesures de temps (heure, jour, ect).
C'est pas du temps réel mais ça s'en rapproche. ;)

cedric_A
Invité n'ayant pas de compte PHPfrance

05 avr. 2012, 21:35

Bonjour, merci pour le tuyau.
Vous pourriez m`aider un peu. :oops:

En gros, je vais utiliser le champ Statut_Notif qui aura lq valeur soit Ouvert soit Ferme.

Je voudrais envoye un mail si ce statut change, mais je vois pas comment faire.
Merci encore!

ViPHP
xTG
ViPHP | 7331 Messages

05 avr. 2012, 21:54

Voilà un peu de lecture pour t'orienter : http://phpdebutant.org/article66.php
Quand à la fonction mail, on a plusieurs topics sur ce forum ou bien la documentation : http://fr2.php.net/manual/fr/function.mail.php

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

06 avr. 2012, 10:07

juste pour alimenter un peu : vue que c'est un script a toi qui va faire la mise a jour autant lui dire d'envoyer le mail après validation de l'update :)


@+
Il en faut peu pour être heureux ......