Bonjour,
J'ai un formulaire sur un site qui permet de mettre à jour le profil d'un utilisateur. Il se compose de plusieurs champs comme changement de mot de passe, changement / ajout date de naissance, lieu de naissance, paramétrage du site, etc. Ces différents champs de mon formulaire sont liés à des tables différentes dans MySQL. Ainsi:
- les informations de base (pseudo, mot de passe, etc) sont stockées dans la table MEMBRE
- les informations facultatives (date et lieu de naissance, etc) sont stockées dans la table MEMBRE_PROFIL
- les informations de paramétrage du site sont stockées dans la table MEMBRE_PARAM
Aujourd'hui lors du POST de mon formulaire, je teste quelles variables ont été modifiées:
Cas 1
si des variables de MEMBRE sont modifiées je fais une requête UPDATE sur la table MEMBRE
Cas 2
si des variables de MEMBRE_PROFIL sont modifiées, je fais une requête DELETE sur la table MEMBRE_PROFIL (car l'utilisateur peut avoir supprimé toutes les infos facultatives par exemple), puis une requête INSERT sur la table MEMBRE_PROFIL avec les valeurs du formulaire
Cas 3
si des variables de MEMBRE_PARAM sont modifiés, je fais une requête DELETE sur la table MEMBRE_PARAM (car l'utilisateur peut avoir supprimé tous les paramètres qu'il avait sauvegardé au préalable), puis une requête INSERT sur la table MEMBRE_PARAM avec les valeurs du formulaire
Ma question est: existe t-il un moyen de gérer tout ça plus facilement / efficacement en utilisant les procédures stockées ? Par exemple en évitant d'avoir systématiquement un DELETE suivi d'un INSERT dans le cas 2 & 3.
Je tiens à souligner que je n'ai jamais utilisé le SQL procédural donc j'y connais vraiment rienmais j'aimerai au moins avoir vos avis pour savoir si il est intéressant de regarder de ce côté pour gérer les mises à jour des tables de mon site dans ce cas précis.
Merci d'avance !
Partager