Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/03/2008, 06h28   #1
Futur Membre du Club
 
Avatar de rduvrac
 
Inscription : novembre 2004
Messages : 56
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 56
Points : 17
Points : 17
Par défaut selected dans while

Bonjour

j'ai réussi à faire un script de création pour une liste des années mais j'arrive pas à y insérer le "selected".

La première fois il est placé par défaut sur la première ligne qui ne contient rien. Il va ensuite vers une page qui met la valeur dans une variable de session
Code :
$_SESSION['annee'] = $_POST['annee'];
et si on reviens sur la page il devrait se positionner direct sur l'année choisie avant.

Mon code actuel :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<?php
//décroissant
$i = (date("Y")-10);
while ($i >= (date("Y")-90)):
    echo "<option value='".$i."'>";
	if (!(strcmp($i, $_SESSION['annee']))) {
	echo "selected=\"selected\"";
	}
	echo $i."</option>";
    $i--;
endwhile;
?>
le probleme est qu'il m'affiche selected="selected" devant l'année au lieu de simplement la prendre en compte.

Merci pour l'aide
rduvrac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 08h30   #2
Membre régulier
 
Avatar de daajack
 
Inscription : octobre 2007
Messages : 97
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 97
Points : 78
Points : 78
Ça paraît un peu compliqué ton histoire, mais au premier coup d'oeil il semblerait que ton selected="selected" n'est pas dans la balise <option> genre :
Code :
<option value="yo">selected="selected"b-boy</option>
Au lieu de :
Code :
<option value="yo" selected="selected">b-boy</option>
Fais gaffe au espace, contrôle ton code source, et petite astuce, download firebug et la barre de développement pour le débugage css/js/html.
daajack est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 08h44   #3
Membre régulier
 
Inscription : août 2006
Messages : 78
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 78
Points : 71
Points : 71
Hello, essaie cela:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
 
<?php
//décroissant
$i = (date("Y")-10);
while ($i >= (date("Y")-90)):
    echo "<option value='".$i."'";
	if (!(strcmp($i, $_SESSION['annee']))) {
	echo "selected=\"selected\"";
	}
     echo ">";
     echo $i."</option>";
    $i--;
endwhile;
?>
PinGu- est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/03/2008, 10h09   #4
Futur Membre du Club
 
Avatar de rduvrac
 
Inscription : novembre 2004
Messages : 56
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 56
Points : 17
Points : 17
en effet mauvais placement de >

Merci pour votre aide.

Voila le bon code complet :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<select name="annee" size="1" id="annee">
<option value="" selected></option>
<?php
//décroissant
$i = (date("Y")-10);
while ($i >= (date("Y")-90)):
    echo "<option value='".$i."'";
	if (!(strcmp($i, $_SESSION['annee']))) {
	echo " selected=\"selected\">";
	}else{
	echo ">";}
	echo $i."</option>";
    $i--;
endwhile;
?>
</select>
Pas tellement compliqué, je suis pas programmeur et j'ai réussi à le pondre

ça sert à faire une liste d'année en fonction de la l'année actuelle avec une marge de 80 ans dans ce cas.
Soit de 1998 à 1918 pour cette année 2008. ça évite bien sûr de devoir se taper toutes les valeurs à la main dans la liste.
du genre :
Code :
1
2
3
4
5
6
7
8
<select name="annee" size="1" id="annee">
<option value="" selected></option>
<option value='1998'>1998</option>
<option value='1997'>1997</option>
<option value='1996'>1996</option>
<option value='1995'>1995</option>
<option value='1994'>1994</option>
...
(J'ai détaillé l'explication, car ça peux servir pour d'autres.)
rduvrac est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h23.


 
 
 
 
Partenaires

Hébergement Web