Triggers ??

cs_chiktika Messages postés 58 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 23 janvier 2011 - 7 juil. 2008 à 15:08
cs_chiktika Messages postés 58 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 23 janvier 2011 - 9 juil. 2008 à 15:50
Bonjour,

Après avoir lu un certain nombre de choses sur le sujet, l'utilisation des triggers ne me parait pas encore très claire.

Je suis en train de créer un jeu avec une table'membre' sur laquelle je fais des update par exemple pour créditer une somme de jetons dans le champs argent_membre de la table membre.
A cote de cela j'ai une table filleul qui me permet de stocker le nom du parrain du joueur, celui de son filleul et les gains totaux du filleul.

Lorsque je fais ma requete d'update membre :
$requete "UPDATE membre SET argent_membre argent_membre+10 WHERE pseudo_membre = '".$pseudo."';"
J'aimerais que ca update en meme temps le champs argent_filleul WHERE pseudo_filleul = '".$pseudo."';"

Est ce que ce sont bien les fonctionnalites des triggers qu'il me faut ??
Où dois-je placer le code de creation de triggers ??
Dans une page php ?
Dans phpMyadmin ??

Voila, avec par avance mes remerciements pour vos explications.
Chik

2 réponses

neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
7 juil. 2008 à 16:51
Salut,

Je suis loin d'être calé dans ce domaine, mais...
Les triggers sont gérés par le serveur de base de données. En l'occurrence, dans ton cas, c'est MySQL.
Ils doivent donc être définis sur le serveur : c'est là qu'ils sont stockés et exécutés.
Pour ce qui est de comment... A priori phpMyAdmin doit te permettre de définir tes triggers, puisqu'après tout, il ne s'agit ni plus ni moins que d'une requête de type CREATE : http://dev.mysql.com/doc/refman/5.0/en/triggers.html

Attention, cependant : "
MySQL triggers are activated by SQL statements
only."
Cela signifie qu'il faut que tu utilises des procédures stockées, car elles-seules peuvent déclencher les triggers.
Pour cela, il faut utiliser l'extension MySQLi ou PDO, l'extension mysql ne gérant pas les procédures stockées.

J'espère que ça te permettra d'y voir plus clair et d'avancer ;)
<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
0
cs_chiktika Messages postés 58 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 23 janvier 2011
9 juil. 2008 à 15:50
Merci beaucoup pour ces éclaircissements.
Vu que je n'utilise pas les procédure stockées je n'ai plus qu'a trouver un moyen de faire autrement. ;))
Merci encore.
0
Rejoignez-nous