Liste deroulante dynamique

serenity -  
 serenity -
Bonjour,
Débutant dans la programmation php, je souhaiterais avoir vos conseil avisés sur le code
ci dessous :
 <tr> 
        <td><label for="fsseur"><b>Fournisseur :</b></label>     
<select name="fournisseur" id="select"> 
         <option value="">Choisissez un fournisseur</option> 
 <!--Execution de la requête sur table Fournisseur--> 
<?php 
         
         $result=@mysql_query($req_fsseur); 
         $final=@mysql_result($result); 
         mysql_affected_rows(). 'visionnée(s) !!!!!'; 
          
         //---pas besoin de de lire sous forme de table----// 
          
         while($founisseur=@mysql_fetch_array($result,MYSQL_ASSOC)) 
         { 
          //----déclaration id_fournisseur + valeur des fournisseur-----// 
           $fsseur_id=$founisseur['id_fournisseur']; 
           $fsseur=$fournissseur['fournisseur']; 
           //printr($fournisseur); 
            
         } 
         
echo "<option value=\"<?php echo $fsseur_id; ?>\"><?php echo $fournisseur; ?></option>"; 
         
?> 
   <!--debut boucle sur les valeurs--> 
         
   <!--fin boucle--> 
</select></td> 
<tr> 


mon code pb: mon code ne ramene pas tout le temp la valeur des variable demandé.
Message d'erreur averer :

 <option value="">Choisissez un fournisseur</option> 
        <!--Execution de la requête sur table Fournisseur--> 
        <br /> 
<b>Notice</b>:  Undefined variable: fsseur_id in <b>C:\wamp\www\gestionnaire_apx\ajout.php</b> on line <b>148</b><br /> 
<br /> 
<b>Notice</b>:  Undefined variable: fournisseur in <b>C:\wamp\www\gestionnaire_apx\ajout.php</b> on line <b>148</b><br /> 
<option value="<?php echo ; ?>"><?php echo ; ?></option>

d'avance pour votre aide.

2 réponses

  1. Melooo Messages postés 1476 Statut Membre 84
     
    Tu executes une requête qui n'existe pas :
    $result=@mysql_query($req_fsseur); 
    

    Ou est la requête req_fsseur ????
    Puis je trouve pas sa tip top de mettre le @ qui "cache" tes erreurs !
    0
    1. serenity
       
      La requête existebelle et bioen mais je l'ais initialiser ailleur dans le code

      j'ai mis la requete dans sont bloc d'exécution :
      <php>
                          $req_fsseur="SELECT id_fournisseur, societe FROM fourniseur ORDER BY societe ASC";
      										$result=mysql_query($req_fsseur);
      										
      										mysql_affected_rows(). 'visionnée(s) !!!!!';
      										
      										while($founisseur=mysql_fetch_array($result,MYSQL_ASSOC))
      										{
      												//----déclaration id_fournisseur + valeur des fournisseur-----//
      												$fsseur_id=$founisseur['id_fournisseur'];
      												$fsseur=$fournissseur['societe'];
      										}
      									
      										echo "<option value=\"<?php echo $fsseur_id; ?>\"><?php echo       $fournisseur; ?></option>";
      
      
      ?>
      
      


      il ne reconait pas les variable d'environnement
      $fsseur_id et $fsseur
      soit le message d'erreur suivant :
      <td><label for="fsseur"><b>Fournisseur :</b></label>&nbsp;&nbsp;&nbsp;
      								<select name="liste_fournisseur">
      									<option value="">Choisissez un fournisseur</option>
      								<!--Execution de la requête sur table Fournisseur-->
      								<br />
                             <b>Notice</b>:  Undefined variable: fsseur_id in  <b>C:\wamp\www\gestionnaire_apx\ajout.php</b> on line <b>122</b><br />
      <br />
                     <b>Notice</b>:  Undefined variable: fournisseur in       <b>C:\wamp\www\gestionnaire_apx\ajout.php</b> on line <b>122</b><br />
                             <option value="<?php echo ; ?>"><?php echo ; ?></option>		
      
      


      La requête est fonctionnel, mais peut le pb ce situ au niveau de la boucle while ????

      Merci, ta réponse rapide,

      Bonne apetit,
      0
    2. Melooo Messages postés 1476 Statut Membre 84
       
      Euh remplaces ca
      <php>
      

      par ca déjà :
      <?php
      
      0
    3. serenity
       
      faute de frappe lors de la retranscription deu code:
      <?php
      
               $req_fsseur="SELECT id_fournisseur, societe FROM fourniseur ORDER BY societe ASC";
      										$result=mysql_query($req_fsseur);
      										
      										mysql_affected_rows(). 'visionnée(s) !!!!!';
      										
      										while($founisseur=mysql_fetch_array($result,MYSQL_ASSOC))
      										{
      												//----déclaration id_fournisseur + valeur des fournisseur-----//
      												$fsseur_id=$founisseur['id_fournisseur'];
      												$fsseur=$fournissseur['societe'];
      										}
      									
      										echo "<option value=\"<?php echo $fsseur_id; ?>\"><?php echo       $fournisseur; ?></option>";
      
      
      ?>
      
      

      pas d'erreur afficher au niv de l'interface mais au niveau de l'excution du script.

      rappel message d'erreur ;
      
      <td><label for="fsseur"><b>Fournisseur :</b></label>&nbsp;&nbsp;&nbsp;
      								<select name="liste_fournisseur">
      									<option value="">Choisissez un fournisseur</option>
      								<!--Execution de la requête sur table Fournisseur-->
      								<br />
                             <b>Notice</b>:  Undefined variable: fsseur_id in  <b>C:\wamp\www\gestionnaire_apx\ajout.php</b> on line <b>122</b><br />
      <br />
                     <b>Notice</b>:  Undefined variable: fournisseur in       <b>C:\wamp\www\gestionnaire_apx\ajout.php</b> on line <b>122</b><br />
                             <option value="<?php echo ; ?>"><?php echo ; ?></option>		
      
      
      
      
      


      merci pour tes conseil avisé.
      0
    4. Melooo Messages postés 1476 Statut Membre 84
       
      Tout d'abord le mysql_affected_rows est mal codé :
      https://www.php.net/manual/fr/function.mysql-affected-rows.php
      Ensuite késako ton MYSQL_ASSOC dans ton while
      Après à l'intérieur du while tu fais sa :
      $fsseur_id=$founisseur['id_fournisseur'];
      $fsseur=$fournissseur['societe'];
      

      Déja faut de frappe soit tu utilises "$founisseur" soit "$fournisseur"
      0
    5. serenity
       
      code corriger:
      
      while($founisseur=mysql_fetch_array($result))
      												{
      														//----déclaration id_fournisseur + valeur des fournisseur-----//
      														$fsseur_id=$fournisseur['id_fournisseur'];
      														$fsseur=$fournissseur['societe'];
      												}
      												
      												echo "<option value=\"<?php echo $fsseur_id; ?>\"><?php echo $fsseur; ?></option>";
      
      
      

      PS: MYSQL_ASSOC <=> mysql_fetch_assoc
      dans ce cas j'utilise les nom de colone de la table.

      pour utiliuser les index de la table requêter je mets compte option dans le while MYSQL_NUM.
      lien:
      https://www.php.net/manual/fr/function.mysql-fetch-array.php
      0