Pb PHP avec des liste déroulantes multiples
Résolu
-PP-
Messages postés
11
Date d'inscription
Statut
Membre
Dernière intervention
-
-PP- Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
-PP- Messages postés 11 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
J'ai codé une fonction me permettant de créer automatiquement des listes déroulantes.
A l'aide d'une boucle, j'en affiche plusieurs en même temps.
Maintenant je voudrais récupérer les données issues de ces listes déroulantes, mais je n'y parviens pas...
Soit je n'ai que les resultats de la dernière liste, soit je n'en n'ai aucun (comme c'est le cas dans la version du code que je donne plus bas).
Je dois rédiger cette page de code uniquement en PHP.
Merci d'avance pour votre aide.
Voici le code :
Page :
Fonction :
Voila le code. Encore merci pour votre aide (et déjà rien qu'à toi qui a lu ce message jusqu'au bout ^^ !)
J'ai codé une fonction me permettant de créer automatiquement des listes déroulantes.
A l'aide d'une boucle, j'en affiche plusieurs en même temps.
Maintenant je voudrais récupérer les données issues de ces listes déroulantes, mais je n'y parviens pas...
Soit je n'ai que les resultats de la dernière liste, soit je n'en n'ai aucun (comme c'est le cas dans la version du code que je donne plus bas).
Je dois rédiger cette page de code uniquement en PHP.
Merci d'avance pour votre aide.
Voici le code :
Page :
<?php include ("fonctions.php"); // en fonction du chiffre entré au dessus, on construit le nombre de cases correspondant echo '<form method="GET" name="f2" action="page_liste.php">'; $n=$_GET["taille"]; $i=0; while($i<$n) { creer_liste("liste.'$i'"); $i=$i+1; } echo '<input type="hidden" name="h2" value="oui">'; echo '<input type="submit" name="bt2" value="ok">'; echo '</form>'; // affichage des resultats selectionnés : $k=0; echo 'Les valeurs choisies sont : '; while($k<$n) { $k=$_GET["liste.'$k'"]; echo $k; $k++; } ?>
Fonction :
<?php function creer_liste($liste) { $tab[0]="bleu"; $tab[1]="rouge"; $tab[2]="vert"; $tab[3]="jaune"; $j=count($tab); // On compte le nombre de cases du tableau echo "<select name ='$liste'>"; //pour chaque case du tableau, crée une option dans la liste for ($i=0; $i<$j; $i++) { $val = $tab[$i]; echo"<OPTION VALUE ='$val'>$val"; echo "</OPTION>"; } echo "</SELECT>"; } ?>
Voila le code. Encore merci pour votre aide (et déjà rien qu'à toi qui a lu ce message jusqu'au bout ^^ !)
A voir également:
- Pb PHP avec des liste déroulantes multiples
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Liste des appareils connectés - Guide
- Easy php - Télécharger - Divers Web & Internet
2 réponses
bonjour
tu fais quelques erreurs dans ton script.
et la première est de ne pas nommer tes variables avec des nom explicatifs.
je m'explique, si on prend ta dernière boucle
$k=0;
echo 'Les valeurs choisies sont : ';
while($k<$n) {
$k=$_GET["liste.'$k'"];
echo $k;
$k++;
}
$k est un compteur mais aussi la valeur récupérée dans tes paramètres (bleu, jaune, rouge...)
si tu avais écris
$indiceParametres=0;
echo 'Les valeurs choisies sont : ';
while($indiceParametres<$nombreDeCases) {
$indiceParametres=$_GET["liste.'$indiceParametres'"];
echo $indiceParametres;
$indiceParametres++;
}
tu aurais tout de suite vu qu'il y a quelque chose qui cloche
idem avec le $i que tu utilises dans ta proc principale et aussi dans ta fonction mais pour des choses différentes.
voilà, reprends tes variables, ça fonctionnera et ça sera tout de suite beaucoup plus clair.
tu fais quelques erreurs dans ton script.
et la première est de ne pas nommer tes variables avec des nom explicatifs.
je m'explique, si on prend ta dernière boucle
$k=0;
echo 'Les valeurs choisies sont : ';
while($k<$n) {
$k=$_GET["liste.'$k'"];
echo $k;
$k++;
}
$k est un compteur mais aussi la valeur récupérée dans tes paramètres (bleu, jaune, rouge...)
si tu avais écris
$indiceParametres=0;
echo 'Les valeurs choisies sont : ';
while($indiceParametres<$nombreDeCases) {
$indiceParametres=$_GET["liste.'$indiceParametres'"];
echo $indiceParametres;
$indiceParametres++;
}
tu aurais tout de suite vu qu'il y a quelque chose qui cloche
idem avec le $i que tu utilises dans ta proc principale et aussi dans ta fonction mais pour des choses différentes.
voilà, reprends tes variables, ça fonctionnera et ça sera tout de suite beaucoup plus clair.