Bonjour,

Dans un soucis de rapidité et de lisibilité, j'essaie de réaliser un script qui parait simple, mais en une seule requête, je n'y arrive pas.
J'ai deux tables : catégories et produits.
J'aimerai lister toutes les catégories, et dans chaque catégories, les produits qui sont associés.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
?php
 
$sql = mysql_query("SELECT cat_titre FROM categories"); // 1er requête
while($req = mysql_fetch_assoc($sql))
{
    echo $req['cat_titre'] .' <br />'; // Les catégories
 
    $sql2 = mysql_query("SELECT pdt_titre FROM produits WHERE `cat` = '". $req['titre'] ."'"); // 2eme requête
    while($req2 = mysql_fetch_assoc($sql2))
    {
          echo $req2['pdt_titre'] .' | '; // Les produits
    }
 
}
 
?>
Je trouve ce code trop lourd. J'ai donc cherché, et je suis tombé sur cela :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
<?php
$array = array( 'fruits' => array( 'pommes', 'tomates', 'abricots' ),
                'animaux' => array( 'chats', 'chiens' ),
                'pays' => array( 'Suisse', 'France', 'Angleterre' ) );
 
foreach( $array as $key => $value )
{
  echo $key . ': <br />';
 
  foreach( $value as $valeur )
    echo '  ' . $valeur . '<br />';
 
  echo '<br />';
}
?>
 
Affiche:
fruits:
  pommes
  tomates
  abricots
 
animaux:
  chats
  chiens
 
pays:
  Suisse
  France
  Angleterre
Mais je ne vois pas comment je place mes données de ma table MySQL dans le premier array() ?

Merci,
Flo.