Variable session (PHP) et triggers (MySQL)
Fermé
dominique
-
13 août 2012 à 16:55
flokocha Messages postés 1510 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 octobre 2015 - 14 août 2012 à 13:50
flokocha Messages postés 1510 Date d'inscription lundi 8 mars 2004 Statut Membre Dernière intervention 10 octobre 2015 - 14 août 2012 à 13:50
A voir également:
- Variable session (PHP) et triggers (MySQL)
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Facebook session expirée ✓ - Forum Facebook
- Estelle vient de verrouiller sa session d'ordinateur. que peut-on dire ? ✓ - Forum Windows 7
2 réponses
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
14 août 2012 à 00:43
14 août 2012 à 00:43
Salut,
Tout d'abord une petite précision :
"Cette base de données est accessible par plusieurs utilisateurs via des comptes utilisateurs."
Des comptes utilisateurs à quel niveau ? Au niveau de ton application ou au niveau de MySQL ?
Tout d'abord une petite précision :
"Cette base de données est accessible par plusieurs utilisateurs via des comptes utilisateurs."
Des comptes utilisateurs à quel niveau ? Au niveau de ton application ou au niveau de MySQL ?
Oui excuse moi, je ne l'ai pas précisé.
Ce sont des comptes utilisateurs au niveau de mon application.
C'est pour ça que je voudrais récupérer la variable $_SESSION['id_user'] pour pouvoir la stocker dans ma table historique. Et cela, grâce à des triggers. Est-ce possible tu penses ?
Ce sont des comptes utilisateurs au niveau de mon application.
C'est pour ça que je voudrais récupérer la variable $_SESSION['id_user'] pour pouvoir la stocker dans ma table historique. Et cela, grâce à des triggers. Est-ce possible tu penses ?
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
Modifié par flokocha le 14/08/2012 à 11:26
Modifié par flokocha le 14/08/2012 à 11:26
Je ne suis pas un spécialiste des triggers, mais je vois mal comment à leur niveau ils pourraient avoir directement accès à cette info si elle n'est pas directement présente en base.
La solution qui me parait davantage envisageable est de stocker le contenu de ton $_SESSION['id_user'] dans un champ de la table concernée par l'historisation.
Mais dans tous les cas à mon sens cette info doit forcément être stockée quelque part en base par ton application elle-même si tu veux pouvoir y accéder par la suite depuis tes triggers.
La solution qui me parait davantage envisageable est de stocker le contenu de ton $_SESSION['id_user'] dans un champ de la table concernée par l'historisation.
Mais dans tous les cas à mon sens cette info doit forcément être stockée quelque part en base par ton application elle-même si tu veux pouvoir y accéder par la suite depuis tes triggers.
flokocha
Messages postés
1510
Date d'inscription
lundi 8 mars 2004
Statut
Membre
Dernière intervention
10 octobre 2015
281
14 août 2012 à 13:50
14 août 2012 à 13:50
Je me suis mal exprimé, ce que je voulais dire c'est qu'il faut stocker le contenu de $_SESSION['id_user'] dans la table visée par l'historisation, ou sinon dans une table spécifique qui fera le lien entre le user id et la ligne de la table concernée.
Et ensuite ton trigger peut utiliser cette donnée pour la stocker dans une table d'historisation.
Ex : tu as une table de la structure suivante que tu veux historiser via un trigger :
Tu peux par exemple la transformer en cette structure :
Et faire insérer dans last_edit par ton application le login de l'utilisateur à l'origine de l'update qui a lieu sur une ligne.
Ainsi si par exemple "machin" intervient via ton appli et change le code de l'id 85 pour le code 400, ta table contiendra alors ceci :
Et si ton trigger vise à tracer les changement de code sur cette table, il pourra ainsi facilement construire une table d'historisation telle que celle-ci :
Et ensuite ton trigger peut utiliser cette donnée pour la stocker dans une table d'historisation.
Ex : tu as une table de la structure suivante que tu veux historiser via un trigger :
| id | nom | code | ------------------------------ | 85 | toto | 520 |
Tu peux par exemple la transformer en cette structure :
| id | nom | code | last_edit | --------------------------------------------- | 85 | toto | 520 | loulou |
Et faire insérer dans last_edit par ton application le login de l'utilisateur à l'origine de l'update qui a lieu sur une ligne.
Ainsi si par exemple "machin" intervient via ton appli et change le code de l'id 85 pour le code 400, ta table contiendra alors ceci :
| id | nom | code | last_edit | --------------------------------------------- | 85 | toto | 400 | machin |
Et si ton trigger vise à tracer les changement de code sur cette table, il pourra ainsi facilement construire une table d'historisation telle que celle-ci :
| id | tableid | old | new | ts | user | ------------------------------------------------------------------------- | 1 | 85 | 0 | 520 | 2012-08-14 09:30:00 | loulou | | 2 | 85 | 520 | 400 | 2012-08-14 12:38:00 | machin |