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.

A voir également:

2 réponses

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
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
Melooo Messages postés 1476 Statut Membre 84
 
Euh remplaces ca
<php>

par ca déjà :
<?php
0
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
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
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
rachid20062010@live
 
salam
0