[RESOLU] probleme de liste déroulante et selected

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] probleme de liste déroulante et selected

Re: [RESOLU] probleme de liste déroulante et selected

par xTG » 06 nov. 2014, 14:09

Visiblement tu ne l'as pas assez testé car il y a une erreur.
La valeur est sous la forme YYYY-YYYY+1 or tu ne compares qu'à YYYY.

Dans $_POST['saison'] tu vas avoir une donnée du type "2013-2014".
Or tu compares actuellement à "2013".

Re: probleme de liste déroulante et selected

par team94 » 06 nov. 2014, 14:02

Merci à toi tous fonctionne nickel :

Je poste le code final pour que cela affiche 2013-2014 ou 2014-2015.
<td width = "150px">Choisir la Saison</td>
<td width = "100px">
                <select name="saison" size="1" id="saison" align="left">
                        <?php
							$saison2  = mysql_real_escape_string($_POST['saison']);// variable recuperée par le formulaire sur le choix de la saison de recherche 

							$annee_en_cours = date('Y');  
							for ($annee=$annee_en_cours;  $annee >  $annee_en_cours-5; $annee--) {  
				
                        ?>
							<option value="<?php echo $annee; ?>-<?php echo $annee+1; ?>" <?php  if(isset($_POST['saison']) && $_POST['saison'] == $annee) echo 'selected="selected"';?> ><?php echo $annee; ?>-<?php echo $annee+1; ?></option>
                        <?php
                        }  
                        ?>
                </select>    							
</td>

Re: probleme de liste déroulante et selected

par yann18 » 06 nov. 2014, 13:20

tu peux tester l'exemple précédent(de @xtg) en dehors de ton projet pour mieux comprendre le fonctionnement d'une liste déroulante.
en copiant collant l'exemple précédent:

<td width = "150px">Choisir la Saison</td>
                <td width = "100px">
                <select name="saison" size="1" id="saison" align="left">
                        <?php
$saison2  = mysql_real_escape_string($_POST['saison']);// variable recuperée par le formulaire sur le choix de la saison de recherche

                $annee_en_cours = date('Y');  
                for ($annee=$annee_en_cours;  $annee >  $annee_en_cours-5; $annee--) {  
                        ?>
                        <option value="<?php echo $annee; ?>" <?php  if(isset($_POST['saison']) && $_POST['saison'] == $annee) echo 'selected="selected"';?> ><?php echo $annee+1; ?></option>
                        <?php
                        }  
                        ?>
                </select>    
pour rappel toutes les balises html(ou xhtml) doivent être en minuscule.L'attribut align est obsolète en html5.L'extension mysql_* est elle aussi obsolète.

Re: probleme de liste déroulante et selected

par team94 » 06 nov. 2014, 11:17

j'ai fait ça mais rien ne s'affiche dans mon select :?:


<SELECT name="saison" size="1" id="saison" align="left">
		<?php
$saison2  = htmlspecialchars(mysql_real_escape_string($_POST['saison']));
		$annee_en_cours = date('Y');  
		for ($annee=$annee_en_cours;  $annee >  $annee_en_cours-5; $annee--) {  
	
		 if(isset($_POST['saison']) && $_POST['saison'] == "$saison2"){
		 
		echo '<OPTION VALUE="'.$_POST["saison"].'"selected="selected">'.$_POST["saison"].'</OPTION>';
		}
		else{?>
		<option><?php echo $annee; ?>-<?php echo $annee+1; ?></option>
		<?php
		}  
		
		}
		?>
</SELECT> 

je suis perdu

Re: probleme de liste déroulante et selected

par team94 » 06 nov. 2014, 09:38

Bonjour et un grand merci pour ta réponse.

J'ai bien compris comment utiliser le selected mais je n'arrive pas à l’insérer avec des variables.

il faudrait que la liste se mette sur la variable $saison2 si il y a eu un choix sinon quelle m'affiche les années en commencant par celle en cours.

Sinon merci encore :wink:

Re: probleme de liste déroulante et selected

par xTG » 06 nov. 2014, 09:06

Voici le principe avec plusieurs variantes pour la valeur du champs :
<select name="test">
<option value="1" <?php if(isset($_POST['test']) && $_POST['test'] == 1) echo 'selected="selected"'; ?>>un</option>
<option <?php if(isset($_POST['test']) && $_POST['test'] == "deux") echo 'selected="selected"'; ?>>deux</option>
</select>

probleme de liste déroulante et selected

par team94 » 06 nov. 2014, 08:29

Bonjour à vous je créer un petit formulaire de recherche qui va récupérer mes adhérent dans une base selon la saison( ex: 2014-2015 ) et quand je clique sur la liste déroulant elle me permet d'aller chercher jusqu'à 5 ans en arrière.

tous fonctionne correctement le seul souci et lorsque je clique sur le bouton recherche il m'affiche bien mon petit formulaire avec la recherche sélectionné dessous, mais ma liste déroulante se réinitialise sur la première entrée je voudrais quelle reste sur le choix de la recherche.

je sais qu'il faut mettre un selected="selected" quelque part mais je ne trouve pas ou :oops: ?
je poste le code de ma liste déroulante.
<td width = "150 px">Choisir la Saison</td>
		<td width = "100 px">
		<SELECT name="saison" size="1" id="saison" align="left">
			<?php
$saison2  = htmlspecialchars(mysql_real_escape_string($_POST['saison']));// variable recuperée par le formulaire sur le choix de la saison de recherche

		$annee_en_cours = date('Y');  
		for ($annee=$annee_en_cours;  $annee >  $annee_en_cours-5; $annee--) {  
			?>
			<option><?php echo $annee; ?>-<?php echo $annee+1; ?></option>
			?php
			}  
			?>
		</SELECT>    
													   
</td>
si quelqu'un pourrait m'aider.

Merci d'avance :mrgreen: