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
- Comment lier des pdf - Guide
- Lier calendrier outlook et gmail - Guide
- Reboot and select proper boot device asus - Forum Matériel & Système
- Please select boot device ✓ - Forum Windows
4 réponses
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
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
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
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
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 717
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.