Bonjour,
j'ai alimenté une liste déroulante mais cela affiche plusieurs fois la meme ville.
j'ai une table destination avec les nom des villes et relié a une table voyage avec l'id de la ville destination.
J'ai alimenté une liste deroulante pour que l'on puisse choisir la ville mais une ville peut apparaitre plusieurs fois.
Je voudrai qu'elle n'apparait qu'une fois meme si elle a plusieurs voyage a son active.
VOICI MOn formulaire
Voici ma requete dans ma classe pdo
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
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 <form action="" method ="POST" id="search" name="search"> <div class="row"> <div class="col-lg-12"> <div class="row"> <div class="col-lg-3 col-md-3 col-sm-12 p-0"> <select class="form-control search-slt" id="annee" name="annee"> <option value="title">Année de voyage</option> <option value="2022">2022</option> <option value="2023">2023</option> <option value="2024">2024</option> <option value="2025">2025</option> <option value="2027">2026</option> </select> </div> <div class="col-lg-3 col-md-3 col-sm-12 p-0"> <select class="form-control search-slt" id="destination" name="destination"> <option value="title">Destination</option> <?php $managerVoyage = new VoyageManager_PDO($db); foreach($managerVoyage->getListGroupByDestinationByType('croisiere') as $ContenuVoyage) { ?> <option value="<?php echo $ContenuVoyage->getTitreVoyage() ?>"> <?php echo $ContenuVoyage->getTitreVoyage() ?></option> <?php } ?> </select> </div> <div class="col-lg-3 col-md-3 col-sm-12 p-0"> <select class="form-control search-slt" id="nbjours" name="nbjours"> <option value="title">Nombre de jours disponible</option> <?php $managerVoyage = new VoyageManager_PDO($db); foreach($managerVoyage->getListGroupByDestinationByType('croisiere') as $ContenuVoyage) { ?> <option value="<?php echo $ContenuVoyage->getJoursVoyage() ?>"> <?php echo $ContenuVoyage->getJoursVoyage() ?></option> <?php } ?> </select> </div> <div class="col-lg-3 col-md-3 col-sm-12 p-0"> <input type="submit" name="search" id="search" value="Rechercher"> </div> </div> </div> </div> </form>
Comment faire apparaitre le nom des voyages qu'une fois dans la liste déroulante ?
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
22
23
24
25 public function getListGroupByDestinationByType($type_voyage) { $listeVoyage = array(); $sql = 'SELECT id_voyage,page_voyage,annee_voyage,titre_voyage,jours_voyage,duree_voyage,description_voyage,tarif_voyage,depart_voyage,nomfichierIMAGE_voyage,urlIMAGE_voyage,nomfichierPDF_voyage,urlPDF_voyage,active_voyage,date_voyage,destination_id,contenu_id,contenu_nom,contenu_description FROM voyage INNER JOIN destination ON voyage.destination_id = destination.contenu_id where page_voyage="'.$type_voyage.'" and active_voyage="1" ORDER BY contenu_id ASC'; $requete = $this->db->query($sql); while ($Voyage = $requete->fetch(PDO::FETCH_ASSOC)) $listeVoyage[] = new Voyage ($Voyage); $requete->closeCursor(); return $listeVoyage; }
J'ai compris qu'il faut recuperer la liste des id de destination dans la table voyage qui ne sont que du type de voyage selectionne exempel croisiere et apres relié a la table destination pour recuperer le nom de la destination.
merci pour votre aide
Partager