HELP Problèm extraction d table BDD PHP-MySQL

Bonjour,

j'ai le problème suivant, je voudrais extraire les nom des fournisseurs qui figurent dans la table Fournisseurs dans une liste (<select >.....
<option value="..." >...</option>
</select>), qui peut m'aider SVP, voilà le code:

ajouterMachine.php:

$selectFrs = "SELECT nomFournisseur FROM fournisseur";
$req1 = mysql_query($selectFrs, $cnx);

/* ... */

<table align="center">
<form name="ajouterMachine" method="post" action="../../scripts/verify.php">
<tr><td>Fournisseur</td>
<td><select name="fournisseur" ><!--style="background-color:#B3CEEF">-->
<?php
while ($data1 = mysql_fetch_array($selectFrs, MYSQL_NUM))
{?>
<option value="<?php $data1['nomFournisseur'];?>"><?php echo stripslashes($data1['nomFournisseur']); ?></option>
<?php }?>
</select></td></tr></table>

Merci d'avance :)
Configuration: Windows Vista / Firefox 3.6

8 réponses

  1. fait comme sa pour tous sa devrai marcher :

    while ($data1 = mysql_fetch_assoc($req1) or die(mysql_error()))
    {
    echo "<option value='".$data1['fournisseur']."'>".$data1['fournisseur']."</option>";
    $data1 = mysql_fetch_assoc($req1);
    }

    a toi de faire pour la suite, mais normalement c'est bon, sinon sa doit venir probablement de tes requêtes SQL

    es-tu réellement obliger de faire autant de requêtes ?
    1. poste moi tout ton fichier
      1. AjouterMachine.php

        <?php include('../../scripts/connect.php');
        // les requettes pour extraire les données des champs de clès étrangères dans la table Machine
        $selectFrs = "SELECT DISTINCT nomFournisseur FROM fournisseur";
        $req1 = mysql_query($selectFrs, $cnx);
        $selectMarque = "SELECT nomMarque FROM marque";
        $req2 = mysql_query($selectMarque, $cnx);
        $selectGar = "SELECT typeGr FROM garantie";
        $req3 = mysql_query($selectGar, $cnx);
        $selectEmp = "SELECT nomEmplacement FROM emplacement";
        $req4 = mysql_query($selectEmp, $cnx);
        $selectLogi = "SELECT nomLogiciel FROM logiciel";
        $req5 = mysql_query($selectLogi, $cnx);
        $selectHDD = "SELECT idHDD FROM hdd";
        $req6 = mysql_query($selectHDD, $cnx);

        ?>

        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <script language="javascript" type="text/javascript" src="../../scripts/calendar.js"/></script>
        <link rel="stylesheet" href="../../styles/calendar.css" type="text/css" />
        <title>Ajouter machine</title>
        </head>

        <body bgcolor="#CCFF99">
        <h1 align="center"><font color="#009900">Ajouter une machine</font></h1> <br/>
        <fieldset>
        <label><b>Entrez les informations de la machine</b></label>
        <table align="center">
        <form name="ajouterMachine" method="post" action="../../scripts/verify.php">
        <tr><td>Fournisseur</td>
        <td><select name="fournisseur" ><!--style="background-color:#B3CEEF">-->
        <?php
        while ($data1 = mysql_fetch_array($req1) or die(mysql_error()))
        {?>
        <option value="<?php echo stripslashes($data1['fournisseur']); ?> "> <?php echo stripslashes($data1['fournisseur']) ; ?> </option>
        <?php $data1 = mysql_fetch_array($req1); ?>
        <?php}?>
        </select></td>
        <td>Marque</td> <td><select name="marque" ><!--style="background-color:#B3CEEF">-->
        <?php
        while ($data2 = mysql_fetch_array($selectMarque))
        {?>
        <option value="<?php echo stripslashes($data2['nomMarque']); ?>"><?php echo stripslashes($data2['nomMarque']); ?></option>
        <?php }?>
        </select></td>
        </tr>
        <tr>
        <td>Garantie</td> <td><select name="garantie" ><!--style="background-color:#B3CEEF">-->
        <?php
        while ($data3 = mysql_fetch_array($selectGar))
        {?>
        <option value="<?php echo stripslashes($data3['typeGr']); ?>"><?php echo stripslashes($data3['typeGr']); ?></option>
        <?php }?>
        </select></td>
        <td>Emplacement</td> <td><select name="emplacement" ><!--style="background-color:#B3CEEF">-->
        <?php
        while ($data4 = mysql_fetch_array($selectEmp))
        {?>
        <option value="<?php echo stripslashes($data4['nomEmplacement']); ?>"><?php echo stripslashes($data4['nomEmplacement']); ?></option>
        <?php }?>
        </select></td>
        </tr>
        <tr>
        <td>Logiciel</td> <td><select name="logiciel" ><!--style="background-color:#B3CEEF">-->
        <?php
        while ($data5 = mysql_fetch_array($selectLogi))
        {?>
        <option value="<?php echo stripslashes($data5['nomLogiciel']); ?>"><?php echo stripslashes($data5['nomLogiciel']); ?></option>
        <?php }?>
        </select></td>
        <td>Disque dur</td> <td><select name="hdd" ><!--style="background-color:#B3CEEF">-->
        <?php
        while ($data6 = mysql_fetch_array($selectHDD))
        {?>
        <option value="<?php echo stripslashes($data6['idHDD']); ?>"><?php echo stripslashes($data6['idHDD']); ?></option>
        <?php }?>
        </select></td>
        </tr>
        <tr>
        <td>Type</td> <td><input type="text" name="typeMachine" /></td>
        <td>Date achat</td> <td><input type="text" name="dateAchat" onfocus="javascript:displayCalendar('w0', event);" id="w0" /></td>
        </tr>
        <tr>
        <td>Nom machine</td> <td><input type="text" name="nomMachine" /></td>
        <td>N° série</td> <td><input type="text" name="numSerMachine" /></td>
        </tr>
        <tr>
        <td>Processeur</td> <td><input type="text" name="processeur" /></td>
        <td>Socket</td> <td><input type="text" name="socket" /></td>
        </tr>
        <tr>
        <td>Prix</td> <td><input type="text" name="prixMachine" /></td>
        <td>Date livraison</td> <td><input type="text" name="dateLivraison" onfocus="javascript:displayCalendar('dl', event);" id="dl" /></td>
        </tr>
        <tr>
        <td colspan="2">Stock</td>
        <td><label>Oui</label><input type="radio" name="stock" value="oui" /></td>
        <td><label>Non</label><input type="radio" name="stock" value="non" /></td>
        </tr>

        <tr>
        <td><input type="submit" name="ajoutMachine" value="Ajouter"/></td>
        <td><input type="reset" name="reset" value="R-A-Z"/></td>
        </tr>

        </form>
        </table>
        </fieldset>
        <p> </p>
        </body>
        </html>

        Voilà c'est tout le fichier, merci
    2. essay ceci :

      <?php

      $selectFrs = "SELECT * FROM fournisseur;";
      $req1 = mysql_query($selectFrs, $cnx);
      $ligne = mysql_fetch_assoc($req1);
      ?>
      <table align="center">
      <form name="ajouterMachine" method="post" action="../../scripts/verify.php">
      <tr><td>Fournisseur</td>
      <td><select name="fournisseur" ><!--style="background-color:#B3CEEF">-->
      <?php
      while ($ligne)
      {
      echo "<option value='" .$ligne['fournisseur'] ."'> " .$ligne['fournisseur']. " </option>";
      $ligne = mysql_fetch_assoc($req1);
      }
      ?>
      </select></td></tr></table>
      1. c'est toujours la même chose, une toute petite liste qui contient que du vide :(
      2. Parse error: parse error in C:\EasyPHP5.3.0\www\ParcInfo\admin\ajout\ajouterMachine.php on line 115
        112. </fieldset>
        113. <p> </p>
        114. </body>
        115. </html>

        au niveau de la balise <html> ????
    3. $data1 = mysql_fetch_array($selectFrs, MYSQL_NUM))

      faut que tu mette

      $data1 = mysql_fetch_array($req1, MYSQL_NUM))

      tchou
      1. c'est la même chose :(
    4. Bonjour,
      oui c'est ça quand je rentre à ajouterMachine.php, j'ai tout le formulaire mais rien ne s'affiche dans la liste
      1. D'accord.
        Et quand tu exécute le script ajouterMachine.php qu'est-ce qui ce passe ?
        Rien ne s'affiche dans ta liste déroulante ? Y'a une erreur ?
        1. Bonsoir,
          je voudrais bien voir sur la liste déroulante (<select>), tous les nom de fournisseurs figurant dans la BDD, comme ça je pourrais sélectionner et retourner le résultat qui sera envoyé dans $_POST['fournisseur']...
          Merci :)
          1. Bonjour,

            Si j'ai bien compris, ce que tu veux c'est récupérer le nom du fournisseur qui a été sélectionné dans ta liste déroulante "fournisseur" ?

            Si oui dans ta page verify.php :
            $NomFournisseur = $_POST["fournisseur"]; ---> $NomFournisseur contiendra le nom du fournisseur qui a été sélectionné dans ta liste

            Si non reformule ton problème