liste deroulante dynamique PHP/Javascript

liste deroulante dynamique PHP/Javascript - PHP - Programmation

Marsh Posté le 25-01-2005 à 10:36:05    

Bonjour a tous,
 
Je suis en train de developper une galerie photo et je me heurte à un probleme :
Je souhaite que pour chaque photo lors de l'ajout dans la base de donnee qui contient 3 champs (categorie, sous-categorie et photo) je puisse choisir dans quelle categorie l'inserer et en fonction de la categorie choisie obtenir la sous-categorie associe.
 
J'arrive a creer ma premeire liste dynamiquement (<select>....</select> )
Categorie est definie par un id et un nom
Je ne sais pas comment generer la seconde liste en fonction de l'id de la categorie pour effectuer ma requete sql qui creerait la seconde liste : "select * from categorie where id_cat=$id"
 
Visiblement je suis obliger de passer pas la methode onChange, mais elle attend une fonction javascript.
Je suis un peu perdu
 
merci de m'aider ^^

Reply

Marsh Posté le 25-01-2005 à 10:36:05   

Reply

Marsh Posté le 25-01-2005 à 11:01:58    

shadowfree77 a écrit :


 
Visiblement je suis obliger de passer pas la methode onChange, mais elle attend une fonction javascript.


 
effectivement, donc soit ta fonction javascript rappelle ta page et execute ta requete (en envoyant ton formulaire mais sans faire l'insertion, pour pouvoir réafficher tes saisies déjà effectuées) soit tu gères tes sous-cat en javascript...
 
En php tu génère un tableau en js de la forme :


var souscat = array();
 
 
souscat[<id de la cat auquel la sous cat est attachée>]['libelle'] = 'categorie truc';
souscat[<id de la cat auquel la sous cat est attachée>]['ident'] = <l'id de ta souscat>
 
etc..


 
et tu rajoutes une fonction js qui charge ta deuxieme combo en fonction de la catégorie choisie dans ta premiere combo, et le tour est joué...


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 25-01-2005 à 11:50:18    

merci Boulax pour le tableau js,  
la fonction attendra comme argument l'id de la categorie, mais je crois pas que je puisse execute de requete sql en js.
Le plus simlpe serait de creer le tableau Tab[id][nom] via une requete sql , mais dans ce cas là comment faire puisque les variables php ne sont pas reconnues par js directement ?
En php ca donnerait Tab[$id[$i]][$nom[$i]] ....
 
C'est un peu flou pour moi.

Reply

Marsh Posté le 25-01-2005 à 11:56:56    

Bah, tu fais ta requete de selection sur les souscat AVANT et tu génères un tableau javascript qui lui peut etre utilisable ensuite. Ton script javascript n'est qu'une chaine de caractere pour PHP, donc a toi de t'arranger pour générer un code javascript correct.


---------------
Posté depuis des chiottes, sales. Me gusta.
Reply

Marsh Posté le 28-01-2005 à 17:22:40    

A une epoque je voulait le meme style de resultat ... alors je ne sais plus exactemetn ce que j'ai fais, mais dans les grandes lignes c'etait un truc de ce genre :
 
Je préparais mon select avec les categories :
 

<select name="cat">
<option value="1">Cat 1</option>
<option value="2">Cat 2</option>
<option value="3">Cat 3</option>
</select>


 
puis mes select de sous-cat :
 

<div id="1">
<select name="sscat">
<option value="1">Sous Cat 1</option>
<option value="2">Sous Cat 2</option>
<option value="3">Sous Cat 3</option>
</select>
</div>
 
 
<div id="2">
<select name="sscat">
<option value="1">Sous Cat 1</option>
<option value="2">Sous Cat 2</option>
<option value="3">Sous Cat 3</option>
</select>
</div>
 
 
<div id="3">
<select name="sscat">
<option value="1">Sous Cat 1</option>
<option value="2">Sous Cat 2</option>
<option value="3">Sous Cat 3</option>
</select>
</div>


 
Enfin un truc dans le genre, et avec un onchange sur mon 1er select qui affiche le div ayant le meme ID que le value de mon select ...
 
Je sais pas si tu m'as suivi là ... ;)
 
++


Message édité par Dj YeLL le 28-01-2005 à 17:23:26
Reply

Sujets relatifs:

Leave a Replay

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