Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

CodeIgniter PHP Discussion :

Réalisation de listes liées


Sujet :

CodeIgniter PHP

  1. #1
    Membre du Club
    Réalisation de listes liées
    Bonjour,

    Je cherche désespérément à faire un formulaire avec 2 liste lié, dans la première, je récupère tous les régions qui se trouve dans ma bdd. Lorsque j'ai choisi ma région, la 2ième liste s'affiche avec toutes les villes qui se trouve également dans ma bdd.
    Le tous sans valider le formulaire

  2. #2
    Membre à l'essai
    Bonjour,

    Je pense que tu devrais charger la liste mère en PHP ou AJAX (celle des régions).

    Tu appliques l'event onChange sur ta listeRegion en jQuery :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        $('#tonidselectregions').on('change',function(){
            //fonction ajax en GET qui met dans ton select les <option></option> générés par le script PHP.
            //de la forme $('#tonidselectvilles').html(le retour de ton AJAX). 
        });


    Quant au code PHP, basique :

    Tu fais un Controller AJAX, avec une fonction chargée de retournée des <option></option> en fonction du département passé en GET.

    Je m'explique :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <?php
        defined('BASEPATH') OR exit('No direct script access allowed');
     
    class Ajax extends CI_Controller {
     
        public function __construct(){
            parent::__construct();
        }
     
        public function returnDpt(){
            if($this->input->get("q")){
                $dpt = $this->input->get("q");
     
                $resultats = $this->db->query("SELECT iddepartement, nomdepartement FROM departements_liste WHERE idregion = ".$dpt.";")->result_array();
                foreach(){
                    echo "<option value='".$row['iddepartement']."'>".$row['nomdepartement']."</option>";
               }
            }
        }
    }


    Ah oui j'oubliais, ne pas oublié le bon chemin pour ton script (par rapport à ta requete AJAX), il va etre de cette forme :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
     
    url: '<?= base_url(); ?>ajax/returnDpt'+$('#tonidselectregions').val();



    En espérant que cette réponse a pu t'aider,

    Cordialement.



    PS: je ne suis que novice en CodeIgniter, mais cette solution s'approche de la vérité à mon avis. Je reste sur le post si jamais tu as plus de questions.

  3. #3
    Candidat au Club
    Bonjour, j'ai le même problème ! pourrais-tu m'aider si t'as trouvé la bonne solution ?

###raw>template_hook.ano_emploi###