Lier des SELECT en PHP
Résolu/Fermé
max30_3775
Messages postés
178
Date d'inscription
jeudi 4 novembre 2021
Statut
Membre
Dernière intervention
18 mars 2022
-
14 févr. 2022 à 19:22
max30_3775 Messages postés 178 Date d'inscription jeudi 4 novembre 2021 Statut Membre Dernière intervention 18 mars 2022 - 15 févr. 2022 à 01:31
max30_3775 Messages postés 178 Date d'inscription jeudi 4 novembre 2021 Statut Membre Dernière intervention 18 mars 2022 - 15 févr. 2022 à 01:31
A voir également:
- Lier des SELECT en PHP
- Easy php - Télécharger - Divers Web & Internet
- Lier calendrier outlook et gmail - Guide
- Comment lier des pdf - Guide
- Reboot and select proper boot device asus - Forum Matériel & Système
- Lier une adresse mail à gmail - Guide
4 réponses
jordane45
Messages postés
38427
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
4 735
14 févr. 2022 à 20:48
14 févr. 2022 à 20:48
Bonjour,
Déjà .. veux tu que cette liste s'actualise dès le changement de quartier dans ton premier select ... ou as après avoir cliqué sur un bouton submit ( ce qui provoquera le réaffichage de la page) ?
Ensuite.. plusieurs erreurs dans ton code..
La fonction getQuartier() retourne un array.
Tu ne peux donc pas l'utiliser tel quel pour appeller ta fonction pour les sous-quartiers ..
A la limite, tu peux afficher ceux liés au premier résultat de ta première requête..
Pour en revenir au fait de lier tes listes sans refresh de la page et dès le changement de valeur dans le premier.. il va falloir que tu utilises du javascript et de l'ajax...
Le php seul ne te le permettra pas.
Déjà .. veux tu que cette liste s'actualise dès le changement de quartier dans ton premier select ... ou as après avoir cliqué sur un bouton submit ( ce qui provoquera le réaffichage de la page) ?
Ensuite.. plusieurs erreurs dans ton code..
La fonction getQuartier() retourne un array.
Tu ne peux donc pas l'utiliser tel quel pour appeller ta fonction pour les sous-quartiers ..
A la limite, tu peux afficher ceux liés au premier résultat de ta première requête..
$sousquartiers = getQuartier( $quartiers[0]['id'] );
Pour en revenir au fait de lier tes listes sans refresh de la page et dès le changement de valeur dans le premier.. il va falloir que tu utilises du javascript et de l'ajax...
Le php seul ne te le permettra pas.
max30_3775
Messages postés
178
Date d'inscription
jeudi 4 novembre 2021
Statut
Membre
Dernière intervention
18 mars 2022
14 févr. 2022 à 21:12
14 févr. 2022 à 21:12
Bonjour Jordane, merci pour ta réponse. Le but c'est que les données de la 2ème liste (sous-quartier) s'affichent dès que le quartier dans le premier SELECT est choisi. Comme tu as dit il faut du JS, et je pense utiliser onchange.
Après avoir fait ainsi:
=> dans le 2ème SELECT (sous-quartier), c'est les données du 1er quartier(id=1 ) qui apparaissent:
Après avoir fait ainsi:
$sousquartiers = getQuartier( $quartiers[0]['id'] );
=> dans le 2ème SELECT (sous-quartier), c'est les données du 1er quartier(id=1 ) qui apparaissent:
<span><label for="quartier"><?php echo $lang['quartier'];?></label></span> <br> <select name="quartier"> <option value="" disabled selected><?php echo $lang['quartier'];?></option> <?php // 1- on récupère les quartiers principaux $quartiers = getQuartier( 0 ); // 0 : catégories principales (niveau 0) $sousquartiers = getQuartier( $quartiers[0]['id'] ); if($quartiers){ foreach($quartiers as $quart){ echo "<option value='".$quart['id']."'>".$quart['qua']."</option>"; } ?> </select> <br> <br> <span><label for="quartier"><?php echo $lang['quartier'];?>2</label></span> <br> <select name="sousquartier"> <option value="" disabled selected><?php echo $lang['quartier'];?></option> <?php foreach($sousquartiers as $sq){ echo "<option value='".$sq['id']."'>".$sq['qua']."</option>"; } }//fin accolade if $quartiers ?> </select>
jordane45
Messages postés
38427
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
4 735
14 févr. 2022 à 21:39
14 févr. 2022 à 21:39
Bonjour Jordane, merci pour ta réponse. Le but c'est que les données de la 2ème liste (sous-quartier) s'affichent dès que le quartier dans le premier SELECT est choisi. Comme tu as dit il faut du JS, et je pense utiliser onchange.
Ben oui.. c'est bien ça .. du Javascript .. AVEC de l'AJAX ...
max30_3775
Messages postés
178
Date d'inscription
jeudi 4 novembre 2021
Statut
Membre
Dernière intervention
18 mars 2022
Modifié le 14 févr. 2022 à 23:10
Modifié le 14 févr. 2022 à 23:10
Je suis arrivé à faire apparaitre la div (d) des sous-quartiers avec du javascript
Mais après l'Ajax ... ! Jamais fait. Je vais donc poster un nouveau sujet dans le forum de JS de CCM.
Merci à toi :)
<script> function choisirsous() { var sous= document.getElementById("quartier"); if(sous.value >= 1 ) { console.log('yes'); document.getElementById("d").style.display="block"; } else{ console.log('no'); document.getElementById("d").style.display="none"; } } </script>
Mais après l'Ajax ... ! Jamais fait. Je vais donc poster un nouveau sujet dans le forum de JS de CCM.
Merci à toi :)
jordane45
Messages postés
38427
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 février 2025
4 735
15 févr. 2022 à 00:00
15 févr. 2022 à 00:00
Avant d'ouvrir une nouvelle question sur le forum .. commence déjà par faire des recherches sur le sujet
https://www.google.com/search?q=tutoriel+ajax
https://www.google.com/search?q=tutoriel+ajax
max30_3775
Messages postés
178
Date d'inscription
jeudi 4 novembre 2021
Statut
Membre
Dernière intervention
18 mars 2022
15 févr. 2022 à 01:31
15 févr. 2022 à 01:31
Ok, ça sera fait.