Forespørgslen skal se sådan ud:
SELECT * FROM scales
INNER JOIN items ON scales.id = items.scale_id
Hvis du vil iterere igennem med indlejrede loops, bliver du nødt til at trække disse data ind i et array - forhåbentlig trækker du ikke så meget tilbage, at det vil æde for meget hukommelse.
$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;
}
Så kan du gå igennem:
foreach ($scales as $scale)
{
foreach ($scale['items'] as $item)
; //... do stuff
}
Bemærk:dette er noget naivt, da $scale og $item begge vil indeholde felter fra BEGGE tabeller... hvis det er et problem, skal du ændre tildelingerne i løkken ovenfor for kun at trække de felter ud, du ønsker.