Probleme de séléction multiple

Probleme de séléction multiple - PHP - Programmation

Marsh Posté le 09-02-2006 à 00:55:46    

Voilà je réalise une application en PHP sur un centre sportif, et je me certaines questions au sujet de la "navigation" et de la récupération de données.
 
Je m'explique:
 
Le centre sportif possède diverses infrastructures.
Je souhaite encoder une activité (un sport par exemple).  
Je dois respecter la contrainte suivante : 1 activité doit etre pratiquée dans au moins 1 à plusieurs infrastructures et plusieurs activités peuvent se dérouler dans une infrastructure.
J'ai donc une table "infrastructure", une table "activité", et une table "se_deroule" qui associe les 2 entités.
 
Pour l'instant, afin de permettre un choix de plusieurs infrastructures pour une activité, je crée dynamiquement des checkbox en fonctions des infrastructures encodées au fur et a mesures ds la DB. (voir image ci dessous)
Lorsqu'on valide le formulaire, je recupère les id des infrastructures(sal_id), j'insère l'activité ds la DB, je récupère son id auto incrémenté (acti_id) et j'insère le tout ds la table "se_deroule" (acti_id,sal_id).
Ce qui m'embête un peu, c'est de travailler avec des checkbox. Pour l'instant ca va, il y a peu d'infrastructures encodées, mais je m'imagine mal dresser une liste de 30 infrastructures, et de générer un formulaire d'1km de long.
J'ai pensé à un "select multiple", mais c'est pas beaucoup plus convivial, si il faut commencer a selectionner ds une longue liste de nom.
 
Ma dernière solution est de créer un select avec la liste de toutes les infrastructures et un bouton d'ajout pour les rajouter au fur et a mesure. Le problème est que la page se recharge à chaque fois et que je dois conserver les données, alors que l'activité n'est pas encore créée. (sans compter qu'après je dois verifier si elle n'existe pas deja etc).
 
J'ai la même problématique lorsque je veux créer un abonnement, je dois choisir les différentes activités comprises dans cet abonnement.
 
Enfin tout cela n'est pas évident à expliquer, si qqn a un peu cerné mon problème et peu me guider vers la solution pratique, j'en serais ravi ! ;)
 
 
Je vous laisse ci dessous l'image de mon formulaire actuel.
http://membres.lycos.fr/yakinaargh/frame.gif


Message édité par GuYzMo le 09-02-2006 à 01:04:13
Reply

Marsh Posté le 09-02-2006 à 00:55:46   

Reply

Marsh Posté le 09-02-2006 à 09:13:06    

Salut!
Alors moi ce que je vois comme solution c'est effectivement de virer les checkbox pour mettre une liste et un système d'ajout/suppression d'infrastructures.
 
Ca impose, comme tu l'as dis, le rechargement de la page et donc le stockage temporaire des données.
Pour ça tu peux facilement utiliser un tableaux stocké en session que tu détruit une fois que l'utilisateur a créé son activité.
 
Le seul problème qui peut se poser est si un utilisateur créé deux activités en ouvrant deux fenêtres en même temps c'est un peu plus compliqué à gérer mais tout à fait faisable.

Reply

Marsh Posté le 09-02-2006 à 13:00:30    

Pour ce genre de fonctionalité, en effet, le chargement de la page est obliguatoire si on veut que tout le monde puisse le faire.
Sinon, en javascript tu peux manipuler des listes sans avoir à recharger la page mais 10% des surfeurs ont javascript de désactivé, alors à par si t'es sur et certain qu'il sera activé chez ceux qui utilisent cette page, ca bloquera certaines personnes.
 
 
Personellement, je préfaire encore avoir un formulaire contenant 30 ou 40 chekbox classé par théme qu'une page qui se rafraichira à chaque choix avec perte du texte que je peux avoir saisie entre le choix de l'infrastructure et la réception de la nouvelle page et surtout une grosse perte de temps. (même s'il ne faut que 10 secondes pour récupérer la page, en sélectionant 5 infrastructures, ca fait presque une minute de perdu)

Reply

Marsh Posté le 10-02-2006 à 15:58:38    

Merci pour les solutions !
 
Pour finir j'ai utilisé les session pour conserver les données.
Et c'est vrai que ca m'aide pas mal. Je conserve tout et la personne qui encode ne doit rien retaper
 
J'ai choisi de faire qqch ds ce style la.
http://membres.lycos.fr/yakinaargh/frame2.gif


Message édité par GuYzMo le 10-02-2006 à 15:59:15
Reply

Sujets relatifs:

Leave a Replay

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