|
|
|
|
<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>
if($_POST['DATE_DEBUT_JJ']==$DATE_DEBUT_JJ){
$defaut="selected";
}
else{
$defaut="";
}
|
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é : <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 ... ;-) ellessa mange des cerises |
|
Bonjour tout le monde ...
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 ellessa mange des cerises |
|
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 : 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 |
|
Comment ça marche ??
Très bien !!! Merci beaucoup ... ellessa mange des cerises |
Résultats pour [PHP] Liste déroulante + select HELP !!
Résultats pour [PHP] Liste déroulante + select HELP !!
Résultats pour [PHP] Liste déroulante + select HELP !!