J'ai une table qui contient une liste de catégories et une autre table qui contient une liste de produits dans chaque catégorie.MYSQL: Au lieu d'utiliser des instructions SELECT dans une boucle while - quelles sont mes options?
par exemple.
CatID | Cat_Name
----------------
1 | Books
2 | CDs
et
ProductID | Product_Name | CatID
------------------------------------
1 |The Bible | 1
2 |The Koran | 1
3 |90s Greatest Hits | 2
4 |80s Greatest Hits | 2
ce que je veux faire est d'obtenir
<ul>
<li>Books</li>
<ul>
<li>The Bible</li>
<li>The Koran</li>
</ul>
<li>Cds</li>
<ul>
<li>90s Greatest Hits </li>
<li>00s Greatest Hits </li>
</ul>
</ul>
sans faire (PHP)
$query = mysql_query("SELECT ... FROM categories")
while($row = mysql_fetch_assoc($query)):
$query2 = mysql_query("SELECT ... FROM products WHERE catId = $row['CatId'])
endwhile;
Comment puis-je déplacer loin d'utiliser tout imbriqué/SELECT, puis-je le faire efficacement avec un seul y - et comment puis-je accéder aux données pertinentes en utilisant PHP? J'ai eu l'impression que si vos tables devenaient assez volumineuses, plusieurs requêtes SQL ralentiraient votre page, et donc pour optimiser le chargement de la page, vous devriez essayer de réduire le nombre de requêtes?
Utilisation de l'instruction JOIN – Codler