Categories > TinyButStrong general >

Liste déroulante dépendante

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: Paul
Date: 2010-04-20
Time: 22:23

Liste déroulante dépendante

Bonjour à tous,

j'ai un problème avec les liste déroulantes dépendantes.
Je souhaite pouvoir ajouter une annonce (id_annonce, type, rubrique, etc) qui
sont rangé par type (id_type, nom_type) ayant des rubriques (id_rubrique,
id_type, nom_rubrique).
Lors de l'ajout d'une annonce l'utilisateur doit avoir la possibilité de
choisir le type de l'annonce et la rubrique du type de l'annonce.
Pour afficher les type cela ne pose aucun soucis. La où le problème c'est que
je souhaiterais limiter l'affichage des rubriques suivant le type choisi.

Est-il possible de le faire sans utiliser de javascript?

fichier inc-func:

case AJOUT_ANNONCE :
        if (!$user->is_connect()) header('location: ../public/connexion.php');
            $window_title = ' Ajouter une annonce';
            $public_content = ADD_ANNONCE;
            if (isset($aParams['msg_error'])) $msg_error = $aParams['msg_error'];
            $TBS->LoadTemplate(TEMPLATE_HTML ,'UTF-8');
            $TBS->MergeBlock("liste_type_annonce", "mysql", "SELECT * FROM
type_advertisement");
            $TBS->MergeBlock("liste_rubrique_annonce", "mysql", "SELECT * FROM
rubrique_advertisement, type_advertisement WHERE type_advertisement.id_type =
rubrique_advertisement.type_advertisement");
            break;


formulaire d'ajout :

<label for="form_type_annonce">Type d'annonce :  </label><br />
                        <select name="type_annonce" id="type_annonce">
                            <option name="type_annonce"
value="[liste_type_annonce.id_type]">[liste_type_annonce;
block=option][liste_type_annonce.nom_type]</option>
                        </select>
                   
                        <label for="form_rubrique_annonce">Rubrique annonce :  </label><br />
                        <select name="rubrique_annonce" id="rubrique_annonce">
                            <option [onshow;
when[liste_rubrique_annonce.type_advertisement]=[liste_type_annonce.id_type]]
name="rubrique_annonce" value="[liste_rubrique_annonce.id_rubrique]">
[liste_rubrique_annonce;
block=option][liste_rubrique_annonce.nom_rubrique]</option>
                        </select>
                   

Si vous aviez une piste pour m'aider

By: Skrol29
Date: 2010-04-21
Time: 12:51

Re: Liste déroulante dépendante

Salut Paul,

Si tu veux éviter le Javascript, il faut donc que ta page se recharge après la sélection du type, cela afin d'actualiser la liste les rubriques dispo pour le type choisi.

Il faut faire attention à ce que l'utilisateur ne perde pas la saisie du texte de l'annonce s'il change de type ou de rubrique après avoir saisie le texte.

Ton formulaire doit donc retourner quelque que soit la situation : le type choisi, la rubrique choisie, le texte saisie, et pour finir, quelle est l'action demandée (changement de type ou sauvegarde de l'annonce).

Coté PHP, tu filtres la liste des rubriques quand l'action est de changer le type.

Voilà, j'espère que ça aide un poil,