Liste Déroulante probleme php/sql

Résolu
Bonjour, je suis novice en la matière et je voudrais avoir un peu de coup de main si vous voulez bien m ' aider .

J'ai 2 table en sql dans la base "fiche" , l'un regroupe la table "Code" , la deuxieme regroupe la "Produit" . Chaque Code correspond à un seul produit .

J ai fini a faire une liste déroulante avec :

<form method="post" action="index.php">
<select name="champ">
<?php

connectMaBase();

$sql = 'SELECT 'Code' FROM 'fiche'';

$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

while($data = mysql_fetch_array($req)){

echo '<option name="'.$data['Code'].'">'.$data['Code'].'</option>';
}

mysql_free_result ($req);

?>
</select></form>

Je veux faire afficher le "Produit" de chaque "Code" quand on clique OK :

Voici un code que j'ai fait mais ca marche pas :

<?php

if(isset($_POST['valider'])){
$champ=$_POST['champ'];

}

$sql = 'SELECT Produit FROM fiche WHERE '.$champ.'';

$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

echo'<h2>Résultat</h2>';

while($data = mysql_fetch_array($req)){

echo ''.$data['Produit'].'';

print_r($data);
echo'<br/>';
}

mysql_free_result ($req);

mysql_close ();
}
?>

Merci de votre réponse

4 réponses

  1. Désolé, je suis une mule...

    Il faut préciser dans le select la colonne concernée dans la table fiche, c'est code qui doit prendre la valeur de $champ c'est ça ?
    $sql = 'SELECT Produit FROM fiche WHERE code=\''.$champ.'\'';
    1. Bonjour,

      Corrigez ceci :

      $sql = 'SELECT Produit FROM fiche WHERE \''.$champ.'\'';

      Cordialement
      1. Merci de ta reponse neopro , ainsi j'ai changé , j'ai aucun erreur :

        $sql = 'SELECT Produit FROM fiche WHERE \''.$champ.'\'';

        ou encore

        $sql = 'SELECT Produit FROM fiche WHERE '.$data['Code'].'';

        Le Produit ne s'affiche pas quand je clique sur OK
        1. Impec , non t pas une mule , t mon sauveur .. Merci
          1. De rien, bonne continuation