Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Résolu

[PHP] Liste déroulante + select HELP !!

elsadelatoundra, le jeudi 21 septembre 2006 à 16:27:56
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 :

<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 !!
ellessa mange des cerises
Répondre à elsadelatoundra  Signaler ce message aux modérateurs Aller au dernier message

1


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
ceddec, le jeudi 21 septembre 2006 à 17:30:11
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>
Répondre à ceddec

2


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
elsadelatoundra, le jeudi 21 septembre 2006 à 19:33:11
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
Répondre à elsadelatoundra

3


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
elsadelatoundra, le vendredi 22 septembre 2006 à 09:58:30
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']==$i
qui 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
Répondre à elsadelatoundra

4


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
ceddec, le vendredi 22 septembre 2006 à 12:40:40
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
Répondre à ceddec

5


  • 1
    Ce message vous semble utile, votez !
  • Ce message ne vous semble pas utile, votez !
  • Signaler ce message aux modérateurs
 elsadelatoundra, le vendredi 22 septembre 2006 à 12:52:19
Comment ça marche ??

Très bien !!!

Merci beaucoup ...

ellessa mange des cerises
Répondre à elsadelatoundra

Résultats pour [PHP] Liste déroulante + select HELP !!

HTML PHP liste deroulante $$$$$$$ lien$$$$$$ (Résolu) Bonjour, j'ai creer une liste deroulante il y 3 options et je veux envoyer l'utilisateur sur une autre page kan il choisi l'option 1 et sur une autre page pour l'option 2 et idem pour la option 3. et je ne sais pas comment faire:... www.commentcamarche.net/forum/affich-6098285-html-php-liste-deroulante-lien
HTML: balise Select et Css (Résolu) Bonjour, Je souhaiterai savoir s'il est possible de mettre une couleur sur un control de type liste déroulante (Select). En fait j'ai réussi à mettre des couleurs sur le texte ou même mettre une couleur de fond mais ce que je voudrais faire... www.commentcamarche.net/forum/affich-3303784-html-balise-select-et-css
OnChange hors de la balise SELECT (Résolu) Bonjour, Je voudrais savoir s'il est possible d'utiliser un onChange hors de la balise HTML . En fait, je veux détecter si l'utilisateur change la valeur d'une liste déroulante SELECT dont je ne peux modifier la balise...... www.commentcamarche.net/forum/affich-2058022-onchange-hors-de-la-balise-select

Résultats pour [PHP] Liste déroulante + select HELP !!

Listes déroulantes simples avec ExcelDans votre tableau, vous souhaitez insérer un texte ou une valeur choisi dans une liste (déroulante). vous créez votre liste, ligne aprés ligne, sur votre feuille en cours ou sur une autre feuille du classeur en cours. vous la nommez : INSERTION... www.commentcamarche.net/faq/sujet-8674-listes-deroulantes-simples-avec-excel

Résultats pour [PHP] Liste déroulante + select HELP !!

Php+liste deroulante+doublons (Résolu)Bonjour, Je genere une liste deroulante grace a une requete sql et j'aimerais simplement supprimmer les doublons . J'ai deja chercher sur le net mais je n'ai rien trouver de concluant,donc toute aide serai la bienvenue !!! merci... www.commentcamarche.net/forum/affich-4822726-php-liste-deroulante-doublons
[PHP] liste déroulante (Résolu)Bonjour, Je souhaite afficher dans un formulaire une liste déroulante dont les données sont récupérées d'une table MySQL. Je voudrait avoir la possibilité de rajouter de nouvelles données dans cette même liste déroulante. Ceci est-il possible en... www.commentcamarche.net/forum/affich-4517021-php-liste-deroulante
[PHP/MySQL] listes déroulantes HELP !! (Résolu)Bonjour, En PHP, je dois créer deux listes déroulantes liées... Dans la première liste, on sélectionne une activité et dans la deuxième, une sous-activité. Voilà en gros ce que j'ai déjà écrit : www.commentcamarche.net/forum/affich-2379675-php-mysql-listes-deroulantes-help