De zoekopdracht zou er ongeveer zo uit moeten zien:
SELECT * FROM scales
INNER JOIN items ON scales.id = items.scale_id
Als je wilt herhalen met geneste lussen, moet je deze gegevens in een array opnemen - hopelijk trek je niet zoveel terug dat het te veel geheugen opslokt.
$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;
}
Dan kun je doorlopen:
foreach ($scales as $scale)
{
foreach ($scale['items'] as $item)
; //... do stuff
}
Opmerking:dit is enigszins naïef omdat $scale en $item beide velden uit BEIDE tabellen zullen bevatten... als dat een probleem is, moet u de toewijzingen in de bovenstaande lus wijzigen om alleen de gewenste velden eruit te halen.