Consultez la formation SEO spéciale Wordpress
par WebRankInfo / Ranking Metrics

Messages: 23

Enregistré le: 10 Mar 2007

Message le Sam Avr 05, 2008 11:38

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: Tout sélectionner
<?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]
Haut
4 Réponses
Messages: 78

Enregistré le: 9 Juil 2004

Message le Sam Avr 05, 2008 12:08

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 :)
Haut
Messages: 4568

Enregistré le: 16 Nov 2004

Message le Sam Avr 05, 2008 16:17

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: Tout sélectionner
"SELECT a.designation_marque, b.designation_produit FROM marque a, Produit b WHERE a.id_cat=b.id_scat";
Haut
Messages: 23

Enregistré le: 10 Mar 2007

Message le Lun Avr 07, 2008 16:40

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 ...
Haut
Messages: 1369

Enregistré le: 27 Mai 2004

Message le Lun Avr 07, 2008 16:48

Bah là à toi de gérer l'affichage en PHP...
Haut

Formation recommandée sur ce thème :

Formation SEO spéciale Wordpress : apprenez à optimiser le référencement naturel d'un site fait avec Wordpress... Formation Ranking Metrics animée par un expert SEO / Wordpress.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.