IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Le <select avec PHP


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Points : 132
    Points
    132
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  2. #2
    Membre averti Avatar de onirisme
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Novembre 2004
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 221
    Points : 316
    Points
    316
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    $sel = 'selected="selected"';
    Ainsi une ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <option $sel value='EM'$EM> Employé</option>
    Selectionnera automatiquement l'option.

    Pas sûr d'avoir compris...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Points : 132
    Points
    132
    Par défaut
    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.

  4. #4
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 241
    Points
    241
    Par défaut
    voila mon bout de code cela devrai resoudre ton probleme calque dessus..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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>";
    }

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Points : 132
    Points
    132
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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>";
    					}
     
    ?>

  6. #6
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 241
    Points
    241
    Par défaut
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Points : 132
    Points
    132
    Par défaut
    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.

  8. #8
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 241
    Points
    241
    Par défaut
    Alors ca marche comme tu veux? Si c'est le cas clique sur resolu........

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Points : 132
    Points
    132
    Par défaut
    Non, ça ne fonctionne pas.

    Mon sélect n'affiche pas au départ le bon choix; celui provenant de la table.

  10. #10
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 241
    Points
    241
    Par défaut
    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>........

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Points : 132
    Points
    132
    Par défaut
    Voici le début du code:

    echo $type me donne bien Entraîneur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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>

  12. #12
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Points : 132
    Points
    132
    Par défaut
    Voici une photo du résultat. J'ai affiché le contenu des variables pour comparer.

    [IMG][/IMG]

  13. #13
    Membre actif
    Inscrit en
    Juillet 2007
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 201
    Points : 241
    Points
    241
    Par défaut
    Rajoute ceci:
    dans ta balise form remplace déja
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method='POST' action='ent_statut_maj.php'>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="POST" action="ent_statut_maj.php">
    et rajoute ceci juste avant le select et dans le select met ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<select name=type value='".$default."'>";
    j'ai remplacé dans value type par default

  14. #14
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Points : 132
    Points
    132
    Par défaut
    Je suis vraiment découragé. c'est toujours non déterminé qui s'affiche.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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>";
    					}
     
    ?>

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juin 2005
    Messages : 487
    Points : 132
    Points
    132
    Par défaut
    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 ?

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 193
    Points : 68
    Points
    68
    Par défaut
    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.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP-JS] Gestion de select avec php et javascript
    Par omdafer dans le forum Langage
    Réponses: 4
    Dernier message: 24/03/2008, 12h45
  2. erreur javascript pour modifier select avec tableau PHP
    Par omdafer dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 24/03/2008, 12h27
  3. Probleme assez étrange avec php et selected
    Par lysandre dans le forum Langage
    Réponses: 3
    Dernier message: 01/02/2008, 16h35
  4. Initialisation Select avec Ajax (php)
    Par VooDooNet dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 07/08/2007, 09h45
  5. [ODBC] Probleme sur un SELECTED de SELECT avec PHP
    Par G.D.O dans le forum PHP & Base de données
    Réponses: 15
    Dernier message: 27/03/2006, 15h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo