Page 1 sur 1

Requête avec jointure

Posté : 28 oct. 2020, 19:16
par polo1212
Bonjour,

J'ai réalisé un formulaire permettant d'ajouter un produit dans ma base de données.
Je souhaiterai afficher les noms des fournisseurs au lieu des id dans ma liste déroulante "Fournisseur".

table produits :
idProduits,
reference,
nom,
idFournisseur,
quantite,
commentaire

table fournisseurs :
idFournisseur,
Societe,
Adresse,
CP,
Ville,
Commentaire

Voici mon code :

Code : Tout sélectionner

<div class="container"> <form action="index.php?page=traitementAP" method="post" class="col-5 m-auto"> <div class="form-group"> <label for="ref">Référence</label> <input type="text" id="ref" name="reference" class="form-control" placeholder="votre référence" required> </div> <div class="form-group"> <label for="nom">Nom</label> <input type="text" id="nom" name="nom" class="form-control" placeholder="votre nom" required> </div> <div class="form-group"> <label for="quant">Quantité</label> <input type="text" id="quant" name="quantite" class="form-control" placeholder="quantité" required> </div> <div class="form-group"> <label for="idFournisseur">Fournisseur</label> <select name="idFournisseur" id="idFournisseur"> <?php $filename = 'connect.php'; if(file_exists($filename)){ include($filename); $requete = "SELECT produits.idProduits, produits.reference, produits.nom, produits.idFournisseur, produits.quantite, produits.commentaire, fournisseurs.societe FROM produits INNER JOIN fournisseurs ON produits.idProduits=fournisseurs.idFournisseur"; $resultat = $connexion->query($requete); $liste = $resultat->fetchAll(PDO::FETCH_ASSOC); foreach($liste as $donnee){ $valeur = $donnee['idFournisseur']; echo "<option value='".$valeur."'>".$donnee['idFournisseur']."</option>"; } } ?> </select> </div> <div class="form-group"> <label for="com">Commentaire</label> <input name="com" id="com" required class="form-control"> </div> <button class="btn btn-primary">Ajouter</button> </form> </div>
Merci d'avance !

Cordialement.

Re: Requête avec jointure

Posté : 28 oct. 2020, 19:22
par or 1
echo "<option value='".$valeur."'>".$donnee['idFournisseur']."</option>";
pour ne pas afficher l'id du fournisseur, il ne faut donc pas mettre $donnee['idFournisseur']

Re: Requête avec jointure

Posté : 30 oct. 2020, 11:29
par polo1212
echo "<option value='".$valeur."'>".$donnee['idFournisseur']."</option>";
pour ne pas afficher l'id du fournisseur, il ne faut donc pas mettre $donnee['idFournisseur']
Merci !

Comment je pourrais faire pour afficher dans la liste déroulante les noms des fournisseurs et non les id ?

Cordialement.

Re: Requête avec jointure

Posté : 30 oct. 2020, 14:57
par or 1
exécuter
SELECT produits.idProduits,
produits.reference, produits.nom,
produits.idFournisseur, produits.quantite,
produits.commentaire, fournisseurs.societe
FROM produits
INNER JOIN fournisseurs
ON produits.idProduits=fournisseurs.idFournisseur
dans phpmyadmin et trouver le nom de la colonne à utiliser.
à noter que cette requête va n'afficher les fournisseurs que s'ils ont déjà un produit de lié. pour afficher tous les fournisseurs, pas besoin de jointure.