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:
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?
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 }
Merci!
Mike
Partager