Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
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 17/10/2007, 03h51   #1
Membre du Club
 
Yvan Fournier
Inscription : juin 2005
Messages : 234
Détails du profil
Informations personnelles :
Nom : Yvan Fournier

Informations forums :
Inscription : juin 2005
Messages : 234
Points : 41
Points : 41
Par défaut Le <select avec PHP

Bonjour,

ça fait 6 heures que j'essaie de comprendre le ... de select et je n'arrive pas à sélectionner le contenu du champs de ma table.

Ici, $type=Entraîneur mais il ne se séelctionne pas, c'est toujours choississez qui est afficher.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
				$sel = $type;
				$$sel = " selected";
				echo "
				<select name='type'>
				<option value='vide'$vide> --- Choisissez ---</option>
				<option value='AR'$AR> Arbitre</option>
				<option value='AS'$AS> Assistant</option>
				<option value='BE'$BE> Bénévole</option>
				<option value='CT'$CT> Comité technique</option>
				<option value='CA'$CA> CA</option>
				<option value='EM'$EM> Employé</option>
				<option value='EN'$EN> Entraîneur</option>
				<option value='GE'$GE> Gérant</option>
				<option value='JO'$JO> Joueur</option>
				<option value='ND'$ND> Non déterminé</option>
				</select>";
Je suis tanné, écoeuré

Avez-vous un site pour que je comprennes le fonctionnement d'un sélect avec php.
fourniey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 09h02   #2
Membre confirmé
 
Avatar de onirisme
 
Inscription : novembre 2004
Messages : 210
Détails du profil
Informations personnelles :
Âge : 34

Informations forums :
Inscription : novembre 2004
Messages : 210
Points : 232
Points : 232
Je suis pas sûr d'avoir bien compris ce que tu voulais...

Si tu veux sélectionner une valeur par défaut dans ton select, remplaces :
Par :
Code :
$sel = 'selected="selected"';
Ainsi une ligne :
Code :
<option $sel value='EM'$EM> Employé</option>
Selectionnera automatiquement l'option.

Pas sûr d'avoir compris...
__________________
Mes parents m'ont offert le nouvel iPhone 3G pour mon anniversaire. Lorsqu'ils me l'ont donné, mon père m'a dit, un peu embarassé : "Le vendeur a dit que ça lisait les vidéos, mais j'ai un doute car je me demande bien où on peut mettre le DVD"
onirisme est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 13h03   #3
Membre du Club
 
Yvan Fournier
Inscription : juin 2005
Messages : 234
Détails du profil
Informations personnelles :
Nom : Yvan Fournier

Informations forums :
Inscription : juin 2005
Messages : 234
Points : 41
Points : 41
Salut,

Je veux tout simplement sélectionner la valuer de $sel qui provient de ma table.

L'usager a par exemple choisi Entraîneur; Mon slect doit contenir toutes les options mais sélectionné entraîneur.
fourniey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 13h28   #4
Membre confirmé
 
Inscription : juillet 2007
Messages : 201
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 201
Points : 227
Points : 227
voila mon bout de code cela devrai resoudre ton probleme calque dessus..

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
echo "<select name=codart value='".$codart."'>";
$tablocation=array('0666605862117'=>'SAX KEILWERTH ALTO ST90',
                    '4957812334280'=>'SAX YAMAHA YAS 275',
                    '0051300100884'=>'CLAR YAMAHA YCL 250',
                    '4957812022279'=>'CORNET YCR 2330II',
                    '0050701000014'=>'TROMBONE YSL354E',
                    '0635464120799'=>'TROMBONE JSL438RL',
                    '0030100101383'=>'SAX SOPRA. C. ASARET ASS100');
while(list($key,$val)=each($tablocation)){
        if ($key==$codart)
                echo "<option value='".$key."' selected>".$val."</option>";
        else
                echo "<option value='".$key."'>".$val."</option>";
}
acirfa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 14h21   #5
Membre du Club
 
Yvan Fournier
Inscription : juin 2005
Messages : 234
Détails du profil
Informations personnelles :
Nom : Yvan Fournier

Informations forums :
Inscription : juin 2005
Messages : 234
Points : 41
Points : 41
Merci de ton aide!

J'ai changé la variable pour $type (égal Entraîneur) et ajusté le select mais il ne sélectionne pas entraîneur. C'est toujours le premier qui est affiché.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
<?php        
          echo "<select name=type value='".$type."'>";
					$tablocation=array('ND'=>'Non déterminé',
															'AR'=>'Arbitre',
          				  	        'AS'=>'Assistant',
                  						 'BE'=>'Bénévole',
				        	            'CT'=>'Comité technique',
        					            'CA'=>'CA',
	          	      			    'EM'=>'Employé',
        					            'EN'=>'Entraîneur',
	          	      			    'GE'=>'Gérant',
  					                  'JO'=>'Joueur');
					while(list($key,$val)=each($tablocation)){
		      if ($key==$type)
           echo "<option value='".$key."' selected>".$val."</option>";
    	    else
           echo "<option value='".$key."'>".$val."</option>";
					}
 
?>
fourniey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 15h04   #6
Membre confirmé
 
Inscription : juillet 2007
Messages : 201
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 201
Points : 227
Points : 227
Dis moi ton formulaire à quoi comme action? POST ou GET?
Comment recupère tu le type?
Essaie ceci juste en debut de ton programme ou avant le debut de la balise form:


Code :
1
2
3
if (isset($_POST['type'])) $type=$_POST['type'];// si c'est POST
 
if (isset($_GET['type'])) $type=$_GET['type'];// si c'est GET.
acirfa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 15h25   #7
Membre du Club
 
Yvan Fournier
Inscription : juin 2005
Messages : 234
Détails du profil
Informations personnelles :
Nom : Yvan Fournier

Informations forums :
Inscription : juin 2005
Messages : 234
Points : 41
Points : 41
Je fonctionne avec Post.

Quand je passe à la page du traitement, mon choix a été conservé.

Le problème se produit à l'initiation où je ne réussis pas à associer le contenu de la table au sélect.
fourniey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 15h26   #8
Membre confirmé
 
Inscription : juillet 2007
Messages : 201
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 201
Points : 227
Points : 227
Alors ca marche comme tu veux? Si c'est le cas clique sur resolu........
acirfa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 15h38   #9
Membre du Club
 
Yvan Fournier
Inscription : juin 2005
Messages : 234
Détails du profil
Informations personnelles :
Nom : Yvan Fournier

Informations forums :
Inscription : juin 2005
Messages : 234
Points : 41
Points : 41
Non, ça ne fonctionne pas.

Mon sélect n'affiche pas au départ le bon choix; celui provenant de la table.
fourniey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 16h19   #10
Membre confirmé
 
Inscription : juillet 2007
Messages : 201
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 201
Points : 227
Points : 227
Qu'est ce qu'il affiche.S'il te plait present aussi bien ton code (j'ai limpression que dans ton tableau tu as des sauts de ligne des espaces par ci......
As tu recuperer ta variable $type avec post quan le formulaire est submit?
fais moi voir ou tu declare ta balise <form>........
acirfa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 16h25   #11
Membre du Club
 
Yvan Fournier
Inscription : juin 2005
Messages : 234
Détails du profil
Informations personnelles :
Nom : Yvan Fournier

Informations forums :
Inscription : juin 2005
Messages : 234
Points : 41
Points : 41
Voici le début du code:

echo $type me donne bien Entraîneur

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
	<?php
		require("../../config.inc.php");
		mysql_select_db("ATS"); // Sélection de la base de données
		//$reponse = mysql_query("SELECT * FROM `ATS_statut`") or die(mysql_error());
 
		$reponse = mysql_query("SELECT ATS_statut.an,ATS_statut.eq_sexe,ATS_statut.eq_cat,ATS_statut.eq_div,ATS_statut.note,TB_statut.description FROM `ATS_statut` LEFT JOIN TB_statut ON ATS_statut.type = TB_statut.code
where passeport=$no_passeport ORDER BY ATS_statut.debut DESC") or die(mysql_error());	
//$nb = mysql_num_rows($reponse);
//echo "<h2><strong>Nombre de réponses obtenues :</strong> ".$nb."</h2>";
 
 
	?>
		<form method='POST' action='ent_statut_maj.php'>
 
 
		  <table align="center" width="90%" border="1" cellpadding="5">
				<caption><h2>Lien avec l'ATS</h2></caption>
				<tr>
					<th width="20">Année</th>
					<th width="35">Description</th>          
          <th width="15">Sexe</th>
          <th width="15">Cat.</th>
          <th width="15">Div.</th>
					<th width="80">Note</th>
         </tr> 
<?php
	while ($donnees = mysql_fetch_array($reponse) )
	$type = rtrim($donnees['description']);
	echo $type;
	{
	if ($donnees['fin'] == '0000-00-00') { $fin = ''; } else { $fin = $donnees['fin']; }	
?>
				<tr>
        <td align="center"><input type="text" name="annee" value="<?php echo $donnees['an'];?>" size="4"></td>
 
 
					<td align="center">
<?php        
          echo "<select name=type value='".$type."'>";
					$tablocation=array('ND'=>'Non déterminé',
															'AR'=>'Arbitre',
          				  	        'AS'=>'Assistant',
                  						 'BE'=>'Bénévole',
				        	            'CT'=>'Comité technique',
        					            'CA'=>'CA',
	          	      			    'EM'=>'Employé',
        					            'EN'=>'Entraîneur',
	          	      			    'GE'=>'Gérant',
  					                  'JO'=>'Joueur');
					while(list($key,$val)=each($tablocation)){
		      if ($key==$type)
           echo "<option value='".$key."' selected>".$val."</option>";
    	    else
           echo "<option value='".$key."'>".$val."</option>";
					}
 
?>
<strong><?php echo $donnees['description']; ?></strong>
          </td>
fourniey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 16h43   #12
Membre du Club
 
Yvan Fournier
Inscription : juin 2005
Messages : 234
Détails du profil
Informations personnelles :
Nom : Yvan Fournier

Informations forums :
Inscription : juin 2005
Messages : 234
Points : 41
Points : 41
Voici une photo du résultat. J'ai affiché le contenu des variables pour comparer.

[IMG][/IMG]
fourniey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 16h50   #13
Membre confirmé
 
Inscription : juillet 2007
Messages : 201
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 201
Points : 227
Points : 227
Rajoute ceci:
dans ta balise form remplace déja
Code :
<form method='POST' action='ent_statut_maj.php'>
par
Code :
<form method="POST" action="ent_statut_maj.php">
et rajoute ceci juste avant le select et dans le select met ceci:
Code :
echo "<select name=type value='".$default."'>";
j'ai remplacé dans value type par default
acirfa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 17h11   #14
Membre du Club
 
Yvan Fournier
Inscription : juin 2005
Messages : 234
Détails du profil
Informations personnelles :
Nom : Yvan Fournier

Informations forums :
Inscription : juin 2005
Messages : 234
Points : 41
Points : 41
Je suis vraiment découragé. c'est toujours non déterminé qui s'affiche.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
	<?php
		require("../../config.inc.php");
		mysql_select_db("ATS"); // Sélection de la base de données
		$reponse = mysql_query("SELECT ATS_statut.an,ATS_statut.eq_sexe,ATS_statut.eq_cat,ATS_statut.eq_div,ATS_statut.note,TB_statut.description FROM `ATS_statut` LEFT JOIN TB_statut ON ATS_statut.type = TB_statut.code
where passeport=$no_passeport ORDER BY ATS_statut.debut DESC") or die(mysql_error());	
 
 
 
//  $type=Post['$type'];
	?>
 
 
		<form method="POST" action="ent_statut_maj.php">
 
		  <table align="center" width="90%" border="1" cellpadding="5">
				<caption><h2>Lien avec l'ATS</h2></caption>
				<tr>
          <th width="25">Année</th>
        	<th width="40">Description</th>
          <th width="15">Sexe</th>
          <th width="15">Cat.</th>
          <th width="15">Div.</th>
					<th width="80">Note</th>
         </tr> 
<?php
	while ($donnees = mysql_fetch_array($reponse) )
	{
	$type = rtrim($donnees['description']);
	$default=$type;
	echo $type.$default;
	if ($donnees['fin'] == '0000-00-00') { $fin = ''; } else { $fin = $donnees['fin']; }	
?>
				<tr>
          <td align="center">
          	<?php echo $donnees['an']; ?>   
          	<input type="text" name="annee" value="<?php echo $donnees['an'];?>" size="4">
          </td>
 
        	<td><strong><?php echo $donnees['description']; ?></strong>
<?php        
          echo "<select name=type value='".$default."'>";
					$tablocation=array('ND'=>'Non déterminé',
															'AR'=>'Arbitre',
          				  	        'AS'=>'Assistant',
                  						 'BE'=>'Bénévole',
				        	            'CT'=>'Comité technique',
        					            'CA'=>'CA',
	          	      			    'EM'=>'Employé',
        					            'EN'=>'Entraîneur',
	          	      			    'GE'=>'Gérant',
  					                  'JO'=>'Joueur');
					while(list($key,$val)=each($tablocation)){
		      if ($key==$default) 
	          echo "<option value='".$key."' selected>".$val."</option>";
	  	    else
	           echo "<option value='".$key."'>".$val."</option>";
					}
 
?>
fourniey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/10/2007, 17h20   #15
Membre du Club
 
Yvan Fournier
Inscription : juin 2005
Messages : 234
Détails du profil
Informations personnelles :
Nom : Yvan Fournier

Informations forums :
Inscription : juin 2005
Messages : 234
Points : 41
Points : 41
Est-ce que l'erreur ne proviendrait pas du if dans le While du select ?

Je me demande une autre chose, il est fermé où ce sélect. Est-ce qu'on doit le fermer ?
fourniey est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/02/2008, 16h18   #16
Membre du Club
 
Inscription : septembre 2007
Messages : 193
Détails du profil
Informations personnelles :
Âge : 32

Informations forums :
Inscription : septembre 2007
Messages : 193
Points : 40
Points : 40
essaie de faire deux chose:

la premiere, regarde le code source de la page html ainsi générée avec php et regardes si le selected est bien placé. Si oui passe a la deuxieme.
La deuxieme, recopie ce code source, crée une page html (sans php) et colle ce code source dedans. Affiche cette page html dans le navigateur et voit si maintenant le selected marche.
Si oui tu as le meme probleme que moi. Je ne connais pas encore la solutions, mais au moins tu aura mieux cerné ton pb et tu sauras que ca ne vient pas du code php ni html.
lysandre 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 00h18.


 
 
 
 
Partenaires

Hébergement Web