J'ai un petit problème de listes déroulantes

cs_hakiman Messages postés 23 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 26 mai 2008 - 29 janv. 2008 à 10:24
Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 - 30 janv. 2008 à 11:15
Bonjour,
J'ai un petit problème de listes déroulantes. J'ai beau cherché sur
différents forums je ne trouve pas la réponse à ma question.
J'ai 2 listes
déroulantes ('catégorie' et 'sous-catégorie'et produits) issues directement un tables appelé newsletter .
Comme leur nom l'indique, les listes
sous-catégorie , catégorie et produit sont liées.

Je voudrais pouvoir sélectionner
une catégorie, puis une sous-catégorie seléctionné automatiquement selon la categorie choisie et de là, je voudrais faire apparaitre tous
les articles de la sous-catégorie sélectionnée.

Bref, mes trois listes sont
bien alimentées et si je sélectionne une 'categorie', la liste 'sous_categorie' se
met à jour .
De même,
si je choisis une 'sous-categorie', les 'articles' de celle-ci apparaissent à la
suite.
Mais là où ça se gâte, c'est si je sélectionne une famille, les
modifications sur la liste sous-familles n'ont plus d'incidence, pas
d'apparition des articles.

9 réponses

helorem Messages postés 49 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 3 février 2008
29 janv. 2008 à 10:49
Zalut,
J'ai du mal a comprendre ta question, il y a des elements qui apparaissent tout le temps.. ( 2 lsites => categorie, sous-categorie, produits (= 3) ?? Famille ?)

Quand tu selectionnes un categorie, ca mets tes sous-cetegories a jour, tu fais ca comment ? ajax ? rechargement de la page ?

Tu construis ta requete MySQL a partir des infos selectionnées ? Comment tu fais ?
0
cs_hakiman Messages postés 23 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 26 mai 2008
29 janv. 2008 à 10:57
J'ai 3 listes déroulantes ('catégorie' et 'sous-catégorie'et produits) issues directement un tables appelé newsletter .
voila la table
CREATE TABLE `newsletter` (
  `id` smallint(5) NOT NULL auto_increment,
  `categorie` varchar(50) NOT NULL default '',
  `sous_categorie` varchar(50) NOT NULL default '',
  `produit` varchar(50) NOT NULL default '',
  `nom` varchar(50) NOT NULL default '',
  `prenom` varchar(50) NOT NULL default '',
  `email` varchar(50) NOT NULL default '',
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;
tout simplement je veux créer un newsletter comme cet exemple
http://www.boutique-de-flora.fr/alerte-email.php
SVP est ce que vous pouvez m'aider?
0
helorem Messages postés 49 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 3 février 2008
29 janv. 2008 à 11:27
Okidoki,

Au fait, je sais pas pourquoi tu as validé ma réponse, je faisait que poser des questions...

Alors tu as trois possibilités :
1) Charger toutes les données de la base au chargement, puis gerer les listes en javascript (bof)

2) Recharger la page a chaque changement dans une liste, en envoyant la donnée selectionné
    Ca te ferais un code du genre (j'abrege, ce code ne marchera pas forcement...):
$condition_cat = "";
if ($_GET['categorie'])    $condition_cat "AND categorie $_GET[categorire]";
$sql = "SELECT * FROM newsletter WHERE 1".$condition_cat;
// ca donne toutes les ligne dont la categorie vaut [categorie], ou toutes les lignes.

3) Recharger la liste avec du ajax (la classe )
pre-requis : une page avec un code du meme genre qu'au dessus, qui affiche un truc du genre
<option id='1'>ss categorie 1</option>\n<option id='2'>....
<javascript>
function set_ss_categorie(id_select_categorie, id_select_ss_categorie)
{
    var recup = ajax('page_affiche_ss_categorie.php?categorie=' + document.getElementById(id_select_categorie).value);
    document.getElementById(id_select_ss_categorie).innerHTML = recup;
}
</javascript>
Pour la fonction javascript tu peux la trouver un peu partout sur le net, va voir sur le site javascript...

Voila voila, c'est te va ?
0
cs_hakiman Messages postés 23 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 26 mai 2008
29 janv. 2008 à 11:36
je suis en train de créer un site web e-commerce comme www.boutique-de-flora.fr.mais ce site sur les familles de bois fer-forgie......
et j'ai trouvé un probléme concernant les newsletter.
j'ai pas bien compris votre réponse car j'ai jamais programmé  par javascript
 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
29 janv. 2008 à 11:43
C'est un problème de javascript là, tu met dans ta balise <select> un élément onchange (ou onclick comme tu veux)
(voir : http://www.commentcamarche.net/javascript/jsevent.php3)

dedans tu appele une fonction javascript, genre dans le select catégorie, un onchange="showSubCat (this);"
et dans ta fonction showSubCat, tu récupere la valeur de l'élément selectionné grace à this, et tu appel un fichier php en xmlhttprequest, qui va te retourner une nouvelle liste, que tu mettra dans ta deuxieme liste, etc.

Regarde plus du coté de javascript, pour ma part ca fait trop longtemps que j'ai pas touché à Js pour t'aider plus. J'ai des notions vagues, que je t'ai donné, regarde sur javascriptfr.com pour plus d'infos :)
0
helorem Messages postés 49 Date d'inscription mercredi 3 novembre 2004 Statut Membre Dernière intervention 3 février 2008
29 janv. 2008 à 11:45
Sinon tu as qu'a prendre juste la solution numero 2 (recharger la page)
0
codefalse Messages postés 1123 Date d'inscription mardi 8 janvier 2002 Statut Modérateur Dernière intervention 21 avril 2009 1
29 janv. 2008 à 11:46
lol j'ai mis du temps à taper mon message et entre temps t'avais déjà mis une réponse :)

Donc voila, Helorem à tout dit ! :)
0
cs_hakiman Messages postés 23 Date d'inscription lundi 14 mai 2007 Statut Membre Dernière intervention 26 mai 2008
29 janv. 2008 à 11:54
merciii beaucoup pour votre aide mes deux Mrs
est ce qu'il n ya pas un exemple resoudre comme ce probléme ?
www.boutique-de-flora.fr
0
Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 2
30 janv. 2008 à 11:15
0
Rejoignez-nous