Afficher des données provenant de 2 tables

  • Auteur de la discussion Auteur de la discussion helpclic
  • Date de début Date de début
Nouveau WRInaute
Bonjour à tous,

Voila, je souhaiterais afficher des données provenant de 2 tables. Par exemple, j'ai 2 tables MySQL. (table categorie et table sous_categorie).
Composition table marque
id_cat type int
designation type varchar 50
...
Cette table est composé des éléments suivant :
1 - Thomson
2 - LG
...
Composition table Produit
id_scat type int
idcat type int (identifiant table categorie)
designation type varchar 50
...
Cette table est composé des éléments suivant
1 - 1(Thomson) - Réfrigérateur
2 - 1(Thomson) - Lave Linge
3 - 2(LG) - Téléphone
4 - 2(LG) - Télévision
5 - 2(LG) - HI-FI
...
Je voudrais afficher des éléments qui viennent des 2 tables c'est-à-dire la designation de la table Marque et pour cette designation, je voudrais afficher les designation de la table Produit qui correspondent à la designation de la Marque:
Bon en exemple (je voudrais que ca m'affiche cela) :
Marque Thomson : Réfrigérateur - Lave Linge
Marque LG : Téléphone - Télévision - HI-FI

Pour le moment, ca m'affiche :
1 - Réfrigérateur - Lave Linge
2 -Téléphone - Télévision - HI-FI
Et c'est normal car je sais afficher les données provenant d'une table mais pas de deux. Voila le code :
Code:
<?php include ('configuration.php'); ?><!-- connexion bd --> 
<?php 
$reponse = mysql_query ("SELECT * FROM Produit"); 
while ($donnees = mysql_fetch_array($reponse)) 
{ 
?> 
<?php echo $donnees['idcat'];?> : <?php echo $donnees['designation'];?><br> 
<?php 
} 
mysql_close(); 
?>

En somme, je voudrai que s'affiche par marque tous les produits, les uns a la suite des autres.
Je pense que ca doit être facile mais je ne trouve pas la solution. Pouvez-vous m'aider ?[/code]
 
WRInaute discret
Essai ce genre de requête:

SELECT * FROM marque, produit WHERE marque.id_cat=produit.idcat GROUP BY marque.id_cat

Test déjà la requête mysql dans phpmyadmin pour voir si ce sont bien les infos que tu désires :)
 
WRInaute accro
Avec :

Composition table marque
id_cat type int
designation_marque type varchar 50
...

Produit
id_scat type int
idcat type int (identifiant table categorie)
designation_produit type varchar 50

Code:
"SELECT a.designation_marque, b.designation_produit FROM marque a, Produit b WHERE a.id_cat=b.id_scat";
 
Nouveau WRInaute
Bonjour,

Que ce soit la première solution ou la deuxième tout fonctionne par contre ca m'affiche tous les marques et tous les produits. C'est-à-dire que ca me répéte les marques pour les produits.
En somme, si je reprend l'exemple précédent :
Marque : Thomson
Produit : Réfrigérateur
Marque : Thomson
Produit : Lave-linge
Marque : LG
Produit : Téléphone
...
Moi je voudrai que tous les produits s'affiche pour une marque. Je voudrai en gros :
Marque: Thomson
Produit : Réfrigérateur - Lave-linge
Marque : LG
Produit : Téléphone ...
Je voudrai afficher une fois la marque et tous les produits de la marque. Pour le moment, ca me répéte la marque alors que je voudrais qu'elle s'affiche qu'une fois.
J'ai essayé avec la commande DISTINCT mais ce ne me fait pas avancé le schmilblick ...
 
Discussions similaires
Haut