Frågan bör se ut ungefär så här:
SELECT * FROM scales
INNER JOIN items ON scales.id = items.scale_id
Om du vill iterera igenom med kapslade loopar måste du dra in dessa data i en array - förhoppningsvis drar du dig inte tillbaka så mycket att det tar upp för mycket minne.
$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;
}
Sedan kan du gå igenom:
foreach ($scales as $scale)
{
foreach ($scale['items'] as $item)
; //... do stuff
}
Notera:detta är något naivt eftersom $scale och $item båda kommer att innehålla fält från BÅDA tabeller... om det är ett problem måste du ändra tilldelningarna i slingan ovan för att bara dra ut de fält du vill ha.