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 :

affichage avec la selection du Liste déroulante


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 10
    Par défaut affichage avec la selection du Liste déroulante
    Dans une page php j'ai créer des champs pour l’affichage des informations clients par rapport à la sélection du liste deroulante
    la liste deroulante est bien remplis mais rien afficher dans les champs
    voila le code:
    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
    <script type="text/JavaScript">
    <!-- 
    /*******************************************methode de selection*/
      function MM_jumpMenu(targ,selObj,restore){ //v3.0
      eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
      if (restore) selObj.selectedIndex=0;
       }
    //-->
    </script>
    </head>
    <body>
    <select name="id" onchange="MM_jumpMenu('parent',this,0)">
            <option   value="-1">-------------  nom du client -------------</option>
            <?php //***********************************remplissage du liste deroulante 
    		           mysql_connect("localhost", "root", ""); //conection 
                       mysql_select_db("bdv"); // base de donnée
    				  $Query1=mysql_query("select * from client  order by idclient ");
    				   $i=0;
    				  while($donnees=mysql_fetch_array($Query1))
    				  {
    				   $i++;
    				  echo "<option value=".$donnees[idclient].">".$donnees['nom']."
    				  </option>";                        
    				   }
    			?>
    			 </select>
    			 <?php
    			  mysql_connect("localhost", "root", ""); 
                       mysql_select_db("bdv");
    				  $result=mysql_query("select nom,date_naissance,adresse,tel from client  where idclient='".$_POST['id']."'");
    				 if (isset($_POST['id']))
    				  {
    				  while($donnees2=mysql_fetch_array($result))
    				  {
    			?>	
    		<form name="f1" method="post" action="index1.php">
    	  <label>Le nom de client :</label><br/><br/>
    	  <input type="text" name="textfield1"  disabled="disabled" value="<?php echo $donnees2->nom; ?>" /><br/><br/>
    	  <label>La dete de naissance :</label1><br/><br/>
    	  <input type="text" name="textfield2"  disabled="disabled" value="<?php echo $donnees2->date_naissance; ?>" /><br/><br/>
    	  <label>L'adresse : </label><br/>
    	  <input type="text" name="textfield3"  disabled="disabled" value="<?php echo $donnees2->adresse; ?>" <br/><br/>
    	  <label>N° tel :</label></br><br/>
    	  <input type="text" name="textfield4" disabled="disabled" value="<?php echo $donnees2->tel; ?>" /><br/><br/>
    	  </form>
    			<?php	  }}
    				   mysql_close();
    			 ?>		 
          </select>
    STP aider moi !!!

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 138
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 138
    Par défaut
    C'est normal, avec mysql_fetch_array, on récupère les champs via un tableau et donc echo $donnees2[nom] plutot que echo $donnees2->nom (qui est la notation objet).

    A la limite tu peux donc remplacer mysql_fetch_array par mysql_fetch_object.

    PS: celà dit, ton problème n'a rien à voir avec les listes déroulantes comme ton sujet pouvait le laisser croire.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 10
    Par défaut
    meme probleme rien afficher quand je selectionne un object de la liste

  4. #4
    Membre Expert Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 895
    Par défaut
    as-tu remplacé les 2 mysql_fetch_array() ? Parce que le premier est correct... seul le 2ieme doit être remplacé par mysql_fetch_object() !

    Si oui, copie-colle ton code corrigé pour vérifier stp

  5. #5
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 10
    Par défaut oui
    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
    <script type="text/JavaScript">
    <!-- 
    /*******************************************methode de selection*/
      function MM_jumpMenu(targ,selObj,restore){ //v3.0
      eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
      if (restore) selObj.selectedIndex=0;
       }
    //-->
    </script>
    </head>
    <body>
    <select name="id" onchange="MM_jumpMenu('parent',this,0)">
            <option   value="-1">-------------  nom du client -------------</option>
            <?php //***********************************remplissage du liste deroulante 
    		           mysql_connect("localhost", "root", ""); //conection 
                       mysql_select_db("bdv"); // base de donnée
    				  $Query1=mysql_query("select * from client  order by idclient ");
    				   $i=0;
    				  while($donnees=mysql_fetch_array($Query1))
    				  {
    				   $i++;
    				  echo "<option value=".$donnees[idclient].">".$donnees['nom']."
    				  </option>";                        
    				   }
    			?>
    			 </select>
    			 <?php
    			  mysql_connect("localhost", "root", ""); 
                       mysql_select_db("bdv");
    				  $result=mysql_query("select nom,date_naissance,adresse,tel from client  where idclient='".$_POST['id']."'");
    				 if (isset($_POST['id']))
    				  {
    				  while($donnees2=mysql_fetch_object($result))
    				  {
    			?>	
    		<form name="f1" method="post" action="index1.php">
    	  <label>Le nom de client :</label><br/><br/>
    	  <input type="text" name="textfield1"  disabled="disabled" value="<?php echo $donnees2->nom; ?>" /><br/><br/>
    	  <label>La dete de naissance :</label1><br/><br/>
    	  <input type="text" name="textfield2"  disabled="disabled" value="<?php echo $donnees2->date_naissance; ?>" <br/><br/>
    	  <label>L'adresse : </label><br/>
    	  <input type="text" name="textfield3"  disabled="disabled" value="<?php echo $donnees2->adresse; ?>" /><br/><br/>
    	  <label>N° tel :</label></br><br/>
    	  <input type="text" name="textfield4" disabled="disabled" value="<?php echo $donnees2->tel; ?>" /><br/><br/>
    	  </form>
    			<?php	  }}
    				   mysql_close();
    			 ?>		 
          </select>

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    il faudrais remplacer ce bout de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    while($donnees=mysql_fetch_array($Query1)){
    				   $i++;
    				  echo "<option value=".$donnees[idclient].">".$donnees['nom']."
    				  </option>";                        
    				   }
    par celui-ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    while($donnees=mysql_fetch_object($Query1))
      				  {
    				  echo "<option value=".$donnees->idclient.">".$donnees->nom."
    				  </option>";                        
    				   }
    Explications :
    Le mysql_fetch_array renvoi un tableau contenant une ligne de ta table. les données du tableau sont classées dans l'ordre des champs de la table et il faut y accéder avec des indices. Par exemple, si le champ nom est en second dans ta table (le premier champ étant souvent un idclient...) tu y accèdes par $donnees[1] car les indices commencent à 0.

    Avec le mysql_fetch_object tu ne te soucis pas des indices, tu accèdes aux champs par leur nom et la syntaxe est : $donnees->nom sans crochets ni guillemets, juste le nom du champ tel qu'il est écrit dans la base de données.

    Tu peux aussi structurer autrement ton code pour éviter tout souci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    while($donnees=mysql_fetch_object($Query1)){
        $nom=htmlentities($donnees->nom);
        $idclient=htmlentities($donnees->idclient);
        //le htmlentities permet d'éviter les piratages : voir injection sql
        echo "<option value=".$idclient.">".$nom."</option>";                      
    }
    Cordialement

Discussions similaires

  1. [MySQL] Selection ID liste déroulante avec BDD
    Par Jimdrix06 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 11/02/2014, 11h21
  2. [AC-2010] selection automatique liste déroulante avec multiselection
    Par mcharmat dans le forum IHM
    Réponses: 3
    Dernier message: 17/01/2014, 01h57
  3. Eviter l'affichage des éléments d'une liste déroulante
    Par auriolbeach dans le forum Access
    Réponses: 1
    Dernier message: 28/02/2006, 08h50
  4. Affichage des mois dans une liste déroulante
    Par Le Rebel dans le forum Langage
    Réponses: 15
    Dernier message: 20/02/2006, 14h37
  5. Réponses: 1
    Dernier message: 19/01/2006, 18h54

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