Besoin d'un conseil

Besoin d'un conseil - SQL/NoSQL - Programmation

Marsh Posté le 28-05-2003 à 17:46:21    

Bonjour,
 
 toujours suite au developpement de mon application, j'aimerai que vous m'aidiez a regler un point qui me gene un tantinet.
 
 Mon application est capable d'editer un Module. Dans ce formulaire je peux ajouter ou supprimer des fonctions qui sont autorisées a parcourir ce module. Si j'edite le module et si des fonctions sont deja autorisées alors des entrees existent dans la table de scap qui contient deux champ : L'un pour l'id du module et l'autre pour l'id de la fonction. Une unicité existe sur les deux champs et cela me permet de savoir quels sont les fonctions associees aux modules.
 
 Si je veux editer un module, j'aurais certaines fonctions à supprimer et d'autres a rajouter.
 
 Pour eviter de me casser la tete, je voulais d'abord effacer toutes les entrees de la table comportant l'id du modulé edité et faire ensuite une insertion de ce que j'ai eu du formulaire utilisateur. Mais voila mon boss trouve cela horrible.
 
 Il prefere que je delete les entrees ne correspondant pas aux fonctions qui se trouvent dans la variable POST du formulaire et que j'insert tout. Comme il y a unicité les champs doubles vont creer une erreur et ne seront pas inséré. Mais moi je trouve que c un peu lourd comme procédé, surtout que mon appli doit etre portable sur MySQL et que je ne sais pas si cette table est capable de mettre une contrainte Unique sur 2 champs
 
 Pouvez vous m'aider S'il vous plait ? Quelle methode entreprendriez vous ?

Reply

Marsh Posté le 28-05-2003 à 17:46:21   

Reply

Marsh Posté le 28-05-2003 à 19:09:17    

Donc, ton interface est en html? Et je suppose que c'est pour un intranet ou qqch de semblable. Dans ce cas, pourquoi ne pas utiliser le système suivant:
 
- une croix à cocher à côté de toutes les fonctions à enlever
- une valeur hidden pour chaque fonction qui change sur un event onchange qui indique que le textarea a été modifié.
 
Comme ça ca te permet de savoir directement ce qui part et ce qui a été changé.

Reply

Marsh Posté le 28-05-2003 à 19:09:59    

Une autre approche pourrait être de faire les modification en direct dans la base.
 
Tu présentes ton tableau déja rempli avec ce qui se trouve dans la base. Lorsque l'utilisateur ajoute une entrée, tu l'insères dans la base en rafraichissant la page. De même, tu mets un bouton pour chaque entrée permettant de la supprimer de la base.
 
L'inconvénient, c'est que tu fais un accès au serveur web et à la base à chaque modification, plutot que de toute les faire d'un seul coup [:proy]

Reply

Marsh Posté le 28-05-2003 à 19:55:24    

Merci pour ces conseils, mais voici ce qui m'emepche de mettre vos idees en pratique :
 -> Ma page se rafraichi pas : j'utilise JavaScript pour ajouter/Supprimer des fonctions
 -> Je n'utilise pas de CheckBox, mais deux Select Multiple : le premier contient le reste des fonctions disponibles et le deuxieme les fonctions autorisees si bien que si on clique sur un element de la fonction qui contient le reste, l'element se transvase dans l'autre select et reciproquement et cela sans recharge de page.
 
 J'ai pris la methode de tout deleter pour reremplir avec ce que l'on me donne via le formulaire mais si vous voyez qqchose de meilleur je suis preneur ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed