Заявката трябва да изглежда така:
SELECT * FROM scales
INNER JOIN items ON scales.id = items.scale_id
Ако искате да повторите с вложени цикли, ще трябва да изтеглите тези данни в масив – да се надяваме, че не изтегляте назад толкова много, че да изяде твърде много памет.
$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;
}
След това можете да преминете през:
foreach ($scales as $scale)
{
foreach ($scale['items'] as $item)
; //... do stuff
}
Забележка:това е малко наивно, тъй като $scale и $item ще съдържат полета от ДВЕТЕ таблици... ако това е проблем, тогава трябва да промените присвояването в цикъла по-горе, за да извадите само полетата, които искате.