Bonjour,
J'ai deux tables qui représentent deux catégories, l'une primaire et l'une secondaire. C-à-d que les valeurs de la table cat. secondaire sont des sous-éléments de la catégorie primaire.

Ex.:
cat. primaire | cat. secondaire
-----------------------------------
Voiture VW
Voiture BMW
Voiture Peugeot
Voiture Citroen
Moto Vespa
Moto Suzuki

Ma question: j'aimerais afficher deux éléments de la catégorie secondaire (au hasard, peu importe lesquels) pour chaque catégorie primaire. C-à-d dans notre cas p.ex. Voiture: VW, Peugeot; Moto: Vespa, Suzuki, etc.

J'ai lancé une requête listant toutes les catégories primaires puis dans la boucle while, j'ai de nouveau effectué une requête, cette fois pour lister deux éléments secondaires appartenant à la cat. primaire. Voici le pseudo-code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
while($prim = mysql_fetch_array($query_primaire)) { 
 $query_secondaire = mysql_query('SELECT * FROM cat_secondary WHERE cat_primary=$prim['cat_primary'] ORDER BY RAND() LIMIT 0,2');
// Ensuite affiche les résultats
}
Le code fonctionne mais ne me paraît pas très optimisé du point de vue des requêtes (lancer 1 + #cat_primaires requêtes me paraît exageré) donc je voulais savoir si quelqu'un avait une idée plus simple pour résoudre ce problème?

Merci!
Mike