[PHP] Liste déroulante + select HELP !!
Résolu
elsadelatoundra
Messages postés
126
Date d'inscription
Statut
Membre
Dernière intervention
-
elsadelatoundra Messages postés 126 Date d'inscription Statut Membre Dernière intervention -
elsadelatoundra Messages postés 126 Date d'inscription Statut Membre Dernière intervention -
Bonjour ou plutôt re-bonjour !
J'ai un formulaire de saisie, toujours avec des dates et un formulaire de traitement des données postées qui me permet de contrôler si les champs obligatoires sont saisis.
Si certains champs ne sont pas saisis, je recharge le formulaire et je voudrais réafficher les infos déjà saisies ... Ce qui me fait un peu galérer c'est que je travaille avec des listes déroulantes et je ne sais pas comment faire pour indiquer à un champ d'être préselectionné.
Voici ma liste déroulante pour les dates :
J'avais pensé à un truc comme ça dans la section php, mais rien ne se passe, je pense que ça pourrait si je mettais les bonnes choases aux bons endroits !!
Merci de votre aide !!
J'ai un formulaire de saisie, toujours avec des dates et un formulaire de traitement des données postées qui me permet de contrôler si les champs obligatoires sont saisis.
Si certains champs ne sont pas saisis, je recharge le formulaire et je voudrais réafficher les infos déjà saisies ... Ce qui me fait un peu galérer c'est que je travaille avec des listes déroulantes et je ne sais pas comment faire pour indiquer à un champ d'être préselectionné.
Voici ma liste déroulante pour les dates :
<td class="form_text" valign='top'> <select name="DATE_DEBUT_JJ" class='form_text' > <option value=''>JJ</option> <?php for($i=1; $i <= 9 ; $i++){ echo '<option value="0'.$i.'">0'.$i.'</option>'; echo"\n"; } for($i=10; $i <= 31 ; $i++){ echo '<option value="'.$i.'">'.$i.'</option>'; echo"\n"; } ?> </select>
J'avais pensé à un truc comme ça dans la section php, mais rien ne se passe, je pense que ça pourrait si je mettais les bonnes choases aux bons endroits !!
if($_POST['DATE_DEBUT_JJ']==$DATE_DEBUT_JJ){ $defaut="selected"; } else{ $defaut=""; }
Merci de votre aide !!
A voir également:
- [PHP] Liste déroulante + select HELP !!
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Liste code ascii - Guide
- Supprimer liste déroulante excel - Forum Réseaux sociaux
5 réponses
Il faut que tu compares la valeur que tu récupères dans le formulaire ($_POST['DATE_DEBUT_JJ']) avec la valeur que tu affiches ("0".$i ou $i)
Ca c'est censé marché :
Ca c'est censé marché :
<td class="form_text" valign='top'> <select name="DATE_DEBUT_JJ" class='form_text' > <option value=''>JJ</option> <?php for($i=1; $i <= 9 ; $i++) { if($_POST['DATE_DEBUT_JJ']=="0".$i) $defaut="selected"; else $defaut=""; echo '<option value="0'.$i.'" $defaut>0'.$i.'</option>'; echo"\n"; } for($i=10; $i <= 31 ; $i++) { if($_POST['DATE_DEBUT_JJ']==$i) $defaut="selected"; else $defaut=""; echo '<option value="'.$i.'" $defaut>'.$i.'</option>'; echo"\n"; } ?> </select>
Ha oki, j'étais persuadée que $DATE_DEBUT_JJ était la valeur prise par l'élément de ma liste !
Je teste ça dès demain matin !!
Encore merci ... ;-)
Je teste ça dès demain matin !!
Encore merci ... ;-)
Bonjour tout le monde ...
C'est à n'y rien comprendre !!
Ici le $defaut="selected" marche et ici, non :
Quand je dis que ça ne marche pas, ça veut juste dire que la liste se remet à neuf avec JJ comme affichage au lieu du jour sélectionné précédemment par l'user !
J'ai créé une variable "case" qui me permet de savoir si on rentre dans un des deux if et le cas échéant dans lequel on est rentré. Bref, je voulais savoir si ce n'était pas
Ensuite, je fais un
J'en déduis donc que c'est au niveau du select que y a un petit sushis, mais j'ai beau regarder, je ne vois pas trop.
Je me décourage ... en plus dans mon application j'ai des dizaines et des dizaines de listes déroulantes pour choisir la date comme ça !! :-S
Et puis mes calendriers ne marchent pas encore !! lol
Heureusement que mon projet dure 4 mois !
Bref, toujours pareil, si quelqu'un voit le bug et peut m'aider, c'est bien cool !
Merci d'avance
C'est à n'y rien comprendre !!
<?php echo'<select name="ACTIVITE_ID" class="form_text" onchange="this.form.submit();"><option></option>'; while($ligne=mysql_fetch_array($resultat1)) { extract($ligne); if ($NOM_ACTIVITE<>"") { if(isset($_POST['ACTIVITE_ID']) && $_POST['ACTIVITE_ID']==$ACTIVITE_ID) $defaut="selected"; else $defaut=""; echo "<option value='$ACTIVITE_ID' $defaut>$NOM_ACTIVITE</option>\n"; } } echo "</select>\n"; ?>
Ici le $defaut="selected" marche et ici, non :
<select name="DATE_DEBUT_JJ" class='form_text' > <option value=''>JJ</option> <?php for($i=1; $i <= 9 ; $i++){ if($_POST['DATE_DEBUT_JJ']=="0".$i){ $case=1; $defaut="selected"; } else{ $defaut=""; } echo '<option value="0'.$i.'" $defaut>0'.$i.'</option>'; echo"\n"; } for($i=10; $i <= 31 ; $i++){ if($_POST['DATE_DEBUT_JJ']==$i){ $case=2; $defaut="selected"; } else{ $defaut=""; } echo '<option value="'.$i.'" $defaut>'.$i.'</option>'; echo"\n"; } ?> </select>
Quand je dis que ça ne marche pas, ça veut juste dire que la liste se remet à neuf avec JJ comme affichage au lieu du jour sélectionné précédemment par l'user !
J'ai créé une variable "case" qui me permet de savoir si on rentre dans un des deux if et le cas échéant dans lequel on est rentré. Bref, je voulais savoir si ce n'était pas
$_POST['DATE_DEBUT_JJ']==$iqui buggait...
Ensuite, je fais un
echo$case;et à l'écran le bon cas s'affiche => on rentre dans le bon if...
J'en déduis donc que c'est au niveau du select que y a un petit sushis, mais j'ai beau regarder, je ne vois pas trop.
Je me décourage ... en plus dans mon application j'ai des dizaines et des dizaines de listes déroulantes pour choisir la date comme ça !! :-S
Et puis mes calendriers ne marchent pas encore !! lol
Heureusement que mon projet dure 4 mois !
Bref, toujours pareil, si quelqu'un voit le bug et peut m'aider, c'est bien cool !
Merci d'avance
Bonjour
Le problème est que tu fais :
echo '....$defaut...';
Je m'explique: le fait d'utiliser de simple quote fait que php n'interprete pas $defaut, il ne considere pas que c'est une valeur contrairement avec les guillemets. la solution est donc :
ou
Un conseil pour que tu puisses voir par toi même l'erreur :
Regardes le source de la page à partir du navigateur. Tu n'auras pas de PHP mais tu verras ce qui est interprété. Dans ce cas ci, tu aurais vu que $defaut n'avait pas changer.
Bon courage
Le problème est que tu fais :
echo '....$defaut...';
Je m'explique: le fait d'utiliser de simple quote fait que php n'interprete pas $defaut, il ne considere pas que c'est une valeur contrairement avec les guillemets. la solution est donc :
echo '<option value="0'.$i.'" '.$defaut.'>0'.$i.'</option>';
ou
echo "<option value=\"0$i\" $defaut>0$i</option>";
Un conseil pour que tu puisses voir par toi même l'erreur :
Regardes le source de la page à partir du navigateur. Tu n'auras pas de PHP mais tu verras ce qui est interprété. Dans ce cas ci, tu aurais vu que $defaut n'avait pas changer.
Bon courage
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question