Select dans un formulaire en fonction d'un choix précédent

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Select dans un formulaire en fonction d'un choix précédent

Re: Select dans un formulaire en fonction d'un choix précédent

par wags » 06 oct. 2019, 13:40

Bonjour @rthur,

Je te remercie pour ces explications complètes et parfaitement claires.

Je vais partir sur des listes liées car le 'select amélioré' sera beaucoup trop long.
Je vais avoir pour certains 'exchange' plus d'une centaines de 'paires'

Donc autant sélectionner en amont ;)

Merci pour ton aide.

Re: Select dans un formulaire en fonction d'un choix précédent

par @rthur » 06 oct. 2019, 12:36

1 - Il arrive que certaines 'paires' puissent être sur plusieurs 'exchange'

Comment faire pour attribuer la même 'paire' à plusieurs 'exchange' ?
En terme de schéma de données, le plus classique pour faire cela est de créer 3 tables :
- une table, nommée par exemple "exchanges" avec uniquement les "exchange" et leurs caractéristiques à chacun, dont un champ par exemple id_exchange, identifiant unique de cet élément (en général INT AUTOINCREMENT dans ton schéma de table)
- une table, nommée par exemple "paires" avec uniquement les "paire" et leurs caractéristiques à chacune, dont un champ par exemple id_paire, identifiant unique de cet élément (en général INT AUTOINCREMENT dans ton schéma de table)
- et une table, nommée par exemple "liens_exchange_paire" dont l'objectif est de permettre de faire les liens entre les 2 précédentes tables. A ce titre elle n'a besoin que de 2 champs, id_exchange et id_paire. Si une paire a 2 exchange, alors elle aura 2 entrées dans cette table.

C'est la façon la plus propre, évolutive et optimisée pour faire des relations n..n en SQL
2 - Comment faire pour que dès que l'utilisateur a sélectionné un exchange (liste déroulante), la liste 'paire' se mette à jour en fonction du choix de l'utilisateur ?
Pour faire des listes liées, on a un tuto ici : faq-tutoriels/listes-liees-avec-html-ja ... 55580.html

A noter que si c'est juste une question de confort dans la sélection, si les utilisateurs savent ce qu'ils cherchent peut être que le mieux serait de faire un champ Select amélioré.
Par exemple : https://select2.org/getting-started/basic-usage

Select dans un formulaire en fonction d'un choix précédent

par wags » 06 oct. 2019, 10:51

Bonjour à toutes et à tous,

J'ai crée une liste déroulante nommée 'paires' dans un formulaire. Liste basée sur des données dans une table.
<option value="<?php echo $donnees['paires']; ?>"> <?php echo $donnees['nom']; ?></option>
Juste là tout va bien mais cette liste est très grande.

Il est possible de la réduire pour que l'utilisateur s'y trouver plus facilement.

Le champs précédent se somme 'exchange'.

Je vais modifier la table pour qu'elle se retrouve avec 2 champs. Un nommé 'exchange' et un autre nommé 'paire'

Je vais attribuer plusieurs 'paires' à un 'exchange'

Donc mes problèmes.

1 - Il arrive que certaines 'paires' puissent être sur plusieurs 'exchange'

Comment faire pour attribuer la même 'paire' à plusieurs 'exchange' ?

2 - Comment faire pour que dès que l'utilisateur a sélectionné un exchange (liste déroulante), la liste 'paire' se mette à jour en fonction du choix de l'utilisateur ?

Merci pour vos avis, pistes, et aides.

Bon dimanche