Salut à tous
Voilà, j'ai une table mysql "educateurs" où, pour chaque modification d'enregistrement, je ne fais pas un UPDATE mais un INSERT INTO afin de pouvoir afficher l'historique des modifications. Grosso modo, ça donne ça :
Mise à jour d'un educateur :
Code :
- INSERT INTO educateurs VALUES (
- '', -> nouvel identifiant généré automatiquement
- '$id', -> ancien identifiant
- (..données diverses..),
- '1' -> flag indiquant que l'enregistrement estactif.
- );
- UPDATE educateurs SET actif='0' WHERE id='$id';
- -> je mets à jour l'ancien enregistrement pour indiquer qu'il n'est plus actif.
|
En gros, à chaque modification, je donne un nouvel ID à l'éducateur et j'indique son ancien ID, puis je rends inactif son ancien enregistrement.
Le premier enregistrement qui a été fait pour un éducateur a un ancien_id = 0.
On a par exemple les enregistrements suivants :
1, 0, DUPONT, Jean, (données diverses),0
14, 1, DUPONT, Jean, (données diverses modifiées),0
23, 14, DUPONT, Jean, (données diverses modifiées),0
31, 23, DUPONT, Jean, (données diverses modifiées),1
Ma question :
Comment remonter l'historique des modification avec SQL ?
Je pensais faire un LOOP, mais j'arrive pas trop à saisir si le comportement et la syntaxe. Et puis, il me faudrait mettre à chaque fois l'ancien ID dans une variable.
Y'aurait bien une solution avec une boucle côté PHP, mais ça risque d'être un peu lourd pour le serveur de base de données...
Merci pour votre aide