Page 1 sur 1

problème select requete php

Posté : 16 mai 2010, 00:27
par coralie
Bonsoir à tous,

Je vous explique ma situation, j'ai crée un site (but uniquement scolaire, pas un véritable site)qui fonctionne avec html et php grace à phpmyadmin.

dans une page achat.php, j'ai plusieurs listes déroulantes (alimentés grâce à des SELECT from la table via php) qui permettent de choisir certains produits avant de valider la commande.

dans la première liste, l'utilisateur choisit le type de produit qui souhaite acheter (cahiers, stylos, gomme,...)

puis dans la deuxième, l'utilisateur choisit la référence de son produit (cahier typeA, cahier typeB, stylo rouge, stylo bleu, stylo noir, gomme type1, gomme type2...)

j'espère que vous comprenez ce que je veux dire! c'est assez compliqué à expliquer, d'autant plus que je suis débutante dans php.

Mon but, et pourquoi je fais appel à votre aide, je veux savoir comment faire du moment que l'utilisateur choisit dans la première liste par exemple stylo.

je veux que la deuxième liste affiche uniquement les références du produit stylo, sans prendre les autres à savoir cahier et gomme.

Merci beaucoup, j'attends vos réponses

Coralie!

Re: problème select requete php

Posté : 16 mai 2010, 02:22
par Nours312
le plus simple est de faire 2 voir 3 tables ...

2 tables dans ton exemple :

1 ere de la forme (id / nom)
contient :
- 1 / cahier
- 2 / stylo
- 3 / livre
...

2nde de la forme (id / parent / nom)
contient :
- 1 / 1 / a4
- 2 / 1 / petit carreaux
- 3 / 2 / bleu
- 4 / 2 / rouge
...

ainsi on se retrouve avec 3 parent dont 2 on deux enfants.
lorsque tu valide la première liste tu récupères l'id du parent et t'en sert dans une clause WHERE pour extraire de la 2nde table les enfants dont le parent correspond au choix effectué ..

et ya pas de limite ^^

ensuite, tu peux tout rassembler en une seule table avec pour les parent un idParent = NULL, ça marche aussi très bien !

par contre PHP étant un langage "serveur" tu est obligé de valider le formulaire après chaque choix, à moins d'utiliser le Javascript pour communiquer avec le serveur et/ou construire la seconde liste en fonction des choix effectués sur la première !

@++