Rafraichir une liste déroulante

Eléphanteau du PHP | 19 Messages

12 août 2005, 11:43

J’ai deux liste déroulante sur la même page. La première est renseignée avec cette requête :

Code : Tout sélectionner

//On va chercher tous les Clients présents en base de données $selectClient = ("SELECT Client FROM Societes ORDER BY 1") ; $reselectClient = odbc_exec($connexion,$selectClient) or die("Ne peut pas exécuter la requête.") ;
Le contenu de la deuxième liste déroulante dépend du contenu de la première :

Code : Tout sélectionner

//On va chercher tous les comptes utilisateurs créés pour ce client $selectUtil = ("SELECT NomUtilisateur FROM Utilisateurs WHERE NomClient = ???? ORDER BY 1") ; $reselectUtil = odbc_exec($connexion,$selectUtil) or die("Ne peut pas exécuter la requête.") ;
Le truc consisterait à rafraîchir le contenu de ma deuxième liste déroulante chaque fois que mon utilisateur changerait de client avec la première liste déroulante. Par exemple, si je sélectionne le client Tartampion, je voudrais que la 2ème liste n’affiche que Tartampion1 et Tartampion2. Si juste après je sélectionne le client Toto, il faudrait que ma 2 ème liste affiche directement toto1, toto2, et toto3.

Je me souviens qu’en asp, c’est l’attribut IsPostBack qu’il faut modifier. Mais je ne sais pas ce qu’il en est ici. De plus, comme vous avez pu le voir avec les ???, je suis embêté pour savoir sur quoi effectuer ma vérification dans le WHERE de ma 2ème requête.
C'est parce que la vitesse de la lumière est supérieure à celle du son,
Que tant de gens paraissent brillant avant d'avoir l'air con.

Mammouth du PHP | 543 Messages

12 août 2005, 12:05

Hello,

Deux possibilités :
Une propre et compatible partout,
une moins propre et moins compatible mais plus ergonomique

La premiere :
Quand on change la valeur de la premiere lsite et qu'on valide, on rappelle la meme page en passant en parametre l'identifiant selectionné.
De la on construit la deuxieme liste en conséquence.

La deuxieme :
Avec javascript, mais ca impose de faire stocker dans des tableaux l'ensemble des valeurs possible pour la deuxieme liste, et on affiche le tableau correspondant a la selection dans la premiere :)

C'est un peu compliqué a expliquer quand meme :p

Eléphanteau du PHP | 19 Messages

12 août 2005, 15:35

La première me va très bien.

Seulement, pour rappeler la même page, je vois pas mieux que de balancer un header. Et comme j’ai un peu de code html avant, ça va foirer.

De plus, je vois pas comment gérer le changement de valeur de la première liste. Ou plutôt à quel moment je dois le gérer. Comment dire que je veux récupérer la valeur actuelle de la liste lorsque j’ai choisi mon client ?

EDIT : ne vous tracassez plus la nenette. J'ai trouvé une solution de rechange. Moins bien, certes, mais je viens d'en parler à mon supérieur et ça lui va bien. Elle marche parfaitement. Néanmoins, si vous avez une solution pour que je fasse ça comme c'était prévu à la base, ben ça m'intéresse toujours.
C'est parce que la vitesse de la lumière est supérieure à celle du son,
Que tant de gens paraissent brillant avant d'avoir l'air con.