Jeanjeanpue
Messages postés2Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention23 février 2008
-
22 févr. 2008 à 16:48
Jeanjeanpue
Messages postés2Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention23 février 2008
-
23 févr. 2008 à 10:46
Hello,
Je débute en PHP/MySQL et programme un intranet/externet pour un réseau de bibliothèque.
Sur cet intranet chaque bibliothèque pourra modifier ses données personnelles via un formulaire. Le problème est que ces données sont nombreuses et j'aimerais que la mise à jour de la bd MySQL soit la plus rapide et économe en ressource serveur.
Ce formulaire passe évidement par une validation avant modification.
Quand un formulaire est posté, est-il intéressant de ne modifier dans la bd SQL que les données modifiées [je pense alors à utiliser des champs de type hidden contenant les valeurs d'origines et
comparer via PHP ces champs avec les champs visible (modifié ou non)
pour ne modifier en SQL que les données changées => ressource PHP
augmente] ou reposter l'ensemble du formulaire [=> ressource MySQL augmente] ?
Est-ce, dans le cas de modification SQL "différenciée" de le faire lors de la validation du formulaire ?
Evangun
Messages postés1980Date d'inscriptiondimanche 20 février 2005StatutMembreDernière intervention24 septembre 20124 22 févr. 2008 à 17:35
Hello,
Pour ma part je ne saurais pas te dire avec certitude lequel est le plus rapide, mais à mon avis il vaut mieux faire un update sur l'ensemble des champs et mysql se débrouille, plutôt que de demander à php de comparer tous les champs (et ça fait du trafic en plus aussi), ce qui sera probablment plus long.
A toi de voir s'il vaut mieux épargner le serveur php ou le serveur sql (s'ils sont distincts !)
Ceci dit, si tu es un vrai parano sur les perfs, il te reste la solution de demander au client de ne te renvoyer que les données modifiées (javascript donc), là ce n'est ni php ni sql qui fait le boulot...
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 22 févr. 2008 à 18:44
Hello,
moi je ferais ça ainsi, si tu as vraiment peur pour les perfs :
un formulaire avec ses attributs value normal, avec en plus 2 champ caché : un avec la valeur d'origine, et un vide.
A chaque fois que l'utilisateur sort d'un champ de saisie, tu comparas ce qu'il a saisi avec la valeur d'origine. Si elle est différente, tu la mets dans ton 2ème champ caché (tout ça en js évidement).
Et quand tu fais ton update, tu ne le fais que sur les seconds champs cachés de chaque élément de ton formulaire.
Php n'a rien de plus à faire, et mysql met à jour le strict minimum.
Jeanjeanpue
Messages postés2Date d'inscriptionvendredi 11 mars 2005StatutMembreDernière intervention23 février 2008 23 févr. 2008 à 10:46
Merci à vous deux.
Je ne suis pas parano sur les perfs, je suis juste un petit peu trop prefectionniste :-)
J'aime pas trop avoir recours au js (certains utilisateurs le désactivent) mais de toute façon mon interface de logon détecte si il est actif et peu dès lors le signaler à l'utilisateur.