La requête devrait ressembler à ceci :
SELECT * FROM scales
INNER JOIN items ON scales.id = items.scale_id
Si vous souhaitez effectuer une itération avec des boucles imbriquées, vous devrez extraire ces données dans un tableau - en espérant que vous ne reculez pas trop au point de consommer trop de mémoire.
$scales = array();
while ($row = mysql_fetch_assoc($data))
{
if (!isset($scales[$row['scale_id']]))
{
$row['items'] = array();
$scales[$row['scale_id']] = $row;
}
$scales[$row['scale_id']]['items'][] = $row;
}
Ensuite, vous pouvez parcourir :
foreach ($scales as $scale)
{
foreach ($scale['items'] as $item)
; //... do stuff
}
Remarque :c'est un peu naïf dans la mesure où $scale et $item contiendront tous les deux des champs des DEUX tables... si c'est un problème, vous devez modifier les affectations dans la boucle ci-dessus pour extraire uniquement les champs que vous voulez.