Bonjour,
d'une manière générale, quelle méthode employez vous pour verrouiller temporairement un enregistrement pendant sa modification, en Php/MySql ?
un exemple:
- un champ dans un base de données Mysql qui peut être modifié à partir d'un script php
- lorsque un utilisateur, dans le script, est en position de pouvoir modifier le champ, personne d'autre ne peut le modifier tant qu'il n'a pas fini sa modification.
En ce moment j'expérimente en créant une table à part avec un enregistrement dont un champ peut prendre la valeur 0 ou 1.
A l'origine, la valeur est 1 (modification possible du champ).
Dès que l'utilisateur est en position de pouvoir modifier le champ, je teste que la valeur de ce champ est bien 1 (pour l'autoriser) et je la change de suite cette valeur à 0 par une requête ajax. Si la valeur avait été 0 j'aurais affiché un message comme quoi la modification est impossible. Quand l'utilisateur a validé la modification du champ, je rechange la valeur du champ à 1 pour permettre de nouvelles modifications par d'autres utilisateurs.
D'après mes premiers tests cela fonctionne, mais existe t-il d'autres façons de faire ou bien des procédures standardisées dans Php?
Je demande ça car récemment j'ai passé 2 jours à fabriquer une page de code pour créer des semaines ISO de calendrier, et ici on m'a appris qu'il existait la fonction setISODate lol... qui fait ça tout seul..
Modifié par lionel_css3 (03 Feb 2017 - 16:24)
d'une manière générale, quelle méthode employez vous pour verrouiller temporairement un enregistrement pendant sa modification, en Php/MySql ?
un exemple:
- un champ dans un base de données Mysql qui peut être modifié à partir d'un script php
- lorsque un utilisateur, dans le script, est en position de pouvoir modifier le champ, personne d'autre ne peut le modifier tant qu'il n'a pas fini sa modification.
En ce moment j'expérimente en créant une table à part avec un enregistrement dont un champ peut prendre la valeur 0 ou 1.
A l'origine, la valeur est 1 (modification possible du champ).
Dès que l'utilisateur est en position de pouvoir modifier le champ, je teste que la valeur de ce champ est bien 1 (pour l'autoriser) et je la change de suite cette valeur à 0 par une requête ajax. Si la valeur avait été 0 j'aurais affiché un message comme quoi la modification est impossible. Quand l'utilisateur a validé la modification du champ, je rechange la valeur du champ à 1 pour permettre de nouvelles modifications par d'autres utilisateurs.
D'après mes premiers tests cela fonctionne, mais existe t-il d'autres façons de faire ou bien des procédures standardisées dans Php?
Je demande ça car récemment j'ai passé 2 jours à fabriquer une page de code pour créer des semaines ISO de calendrier, et ici on m'a appris qu'il existait la fonction setISODate lol... qui fait ça tout seul..
Modifié par lionel_css3 (03 Feb 2017 - 16:24)