Listbox dépendantes

Résolu
Superchief Messages postés 8 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 19 avril 2005 - 18 avril 2005 à 20:26
Superchief Messages postés 8 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 19 avril 2005 - 19 avril 2005 à 16:54
Salut tout le monde !

j'ai actuellement un formulaire de mise à jour (ajout, modif,
suppression) dans lequel je fais appel à plusieurs tables. Certaines
tables étant non-modifiables par l'utilisateur, elles apparaissent sous
forme de listbox.

Jusqu'à maintenant il n'y avait que des tables indépendantes les unes des autres et tout allait bien.

Depuis peu, en + d'une table 'catégorie' on m'a demandé de créer une
table 'sous-catégorie' qui bien entendu dépend de la 1e table.

Mon problème est que je ne sais pas comment afficher uniquement les sous-catégories de la catégorie demandée.

Comment faire pour résoudre ce problème ? Là est ma question ....!!

Le + grand des défauts est de ne pas les reconnaître et encore moins de connaître les siens
Signé : Superchief

9 réponses

JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
19 avril 2005 à 15:20
Re,

remplace le <select ...> par

<select name="categorie" OnChange="window.location = '?categorie=' + this.options[this.selectedIndex].value">

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
3
wodkaist Messages postés 37 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 21 mars 2006
18 avril 2005 à 23:30
Tu peux préciser le
contexte ? C'est-à-dire donner par exemple les spécifications des
tables en question... Trop vague pour une réponse !

<hr size="2" width="100%"> Wodkaist : "Spécialisé en PHP-Flash & Interaction entre ces deux langages"

Site WEB : http://wodkaist.free.fr
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
19 avril 2005 à 01:47
Lu,

fais :

- liste mes categories

> Liste les sous-categories selon l'id de la cetegorie.
( tu as auparavant un champs s_id (par exemple) dans cette 2eme table )

Utilise Where s_id="id_du_champ_pere"

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
0
Superchief Messages postés 8 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 19 avril 2005
19 avril 2005 à 08:44
Merci pour les réponses, je vais tacher d'être + précis.
Le formulaire doit faire la MAJ de la table XX. Elle contient un champ id_XX, nom_XX, etc..., etc..., id_cat_XX, id_scat_XX.
Je dispose donc de 2 tables supplémentaires CATEGORIE (id_cat, nom_cat) et SOUS-CATEGORIE(id_scat,nom_scat).
Dans le formulaire de MAJ, j'affiche les valeurs des tables CATEGORIE et SOUS-CATEGORIE pour remplir les champs (via Btn Valider) id_cat_XX et id_scat_XX.
Ce que je veux faire est de n'afficher que les sous_cat correspondant à la cat sélectionnée, par exemple sur sortieFocus de categorie. Il faut que l'affichage des sous-categories disponibles ne soit qu'en fonction de la catégorie que l'utilisateur va choisir.

...et je ne sais pas faire ça....

j'espère avoir été + précis et que vous aurez une réponse à mon problème

Le + grand des défauts est de ne pas les reconnaître et encore moins de connaître les siens
Signé : Superchief
0

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

Posez votre question
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
19 avril 2005 à 10:23
Re,

Modifie ça et ca ira.

<?php



$sql = mysql_query(' SELECT id_cat, nom_cat FROM categorie');

While( $row = mysql_fetch_assoc($sql) ) {

echo '>', $row['nom_cat'], '';

$sql_s = mysql_query(' SELECT id_scat, nom_scat FROM sous-categorie WHERE id_scat="' . $row['id_cat'] . '" ');

While( $row_s = mysql_fetch_assoc($sql_s) ) {

echo '<li>', $row_s['nom_scat'], '</li>';

}

echo '</lu>';

}



?>
La tous est afficher

Mais si tu connais l'ID de la categorie sélectionner, remplace la 1er requette par un $_GET à qui tu as transmis l'id de la categorie.
<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
0
Superchief Messages postés 8 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 19 avril 2005
19 avril 2005 à 12:51
merci Jojo738, mais j'ai fait quelques erreurs de vocabulaire.
D'abord il ne s'agit pas de listbox mais de combobox. Ce n'est pas très grave, mais ca a son importance de bien dire les choses.
Ce que je veux faire c'est lorsque l'utilisateur saisit dans la combo1 (categorie) ca execute la requete pour afficher combo2 en fonction de la saisie combo1 (sais pas si c tres clair). Et tant que l'utilisateur change combo1, ca execute la requete pour affichage combo2 (j'ai prevu une ligne à blanc dans combo2 pour obliger l'utilisateur à faire sa sélection....).

Voila à quoi ressemble la saisie. Si on change 'Entremets' par 'Noel', ca ne doit afficher que les sous-categories de 'Noel' et pas celles d''Entremets'

Merci encore pour toute l'aide apportée

Le + grand des défauts est de ne pas les reconnaître et encore moins de connaître les siens
Signé : Superchief
0
JoJo738 Messages postés 1267 Date d'inscription mercredi 7 juillet 2004 Statut Membre Dernière intervention 29 juin 2010 2
19 avril 2005 à 13:02
Re,

tiens un script simple ( ajoute du javascript pour le changement automatique ) :

<?php



$sql = mysql_query(' SELECT id_cat, nom_cat FROM categorie');

echo '<form action="" method="GET">



<select name="categorie" >

<option></option>';

While( $row = mysql_fetch_assoc($sql) ) {

echo ' <option value="', $row['id_cat'], '">', $row['nom_cat'], "</option>\n";

}

echo ' </select>







</form>';

if( isset($_GET['categorie']) && is_numeric($_GET['categorie']) ) {

$sql_s = mysql_query(' SELECT id_scat, nom_scat FROM sous-categorie WHERE id_scat="' . $_GET['categorie'] . '" ');

echo '';

While( $row_s = mysql_fetch_assoc($sql_s) ) {

echo ' <li>', $row_s['nom_scat'], "</li>\n";

}

echo '';

}



?>

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
0
Superchief Messages postés 8 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 19 avril 2005
19 avril 2005 à 14:32
ok Jojo ça fonctionne mieux, mais peut-on faire sans bouton Submit avec un JS ou autre chose pour que ca execute la requete sur sortie de combo1?
(je te montre le formulaire complet )

Si en + tu veux mon code pas de pb je peux faire un post

Le + grand des défauts est de ne pas les reconnaître et encore moins de connaître les siens
Signé : Superchief
0
Superchief Messages postés 8 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 19 avril 2005
19 avril 2005 à 16:54
c'est tout bon, un GRAND MERCI !!

Le + grand des défauts est de ne pas les reconnaître et encore moins de connaître les siens
Signé : Superchief
0
Rejoignez-nous