クエリは次のようになります。
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の両方に両方のテーブルのフィールドが含まれるという点でやや単純です...それが問題になる場合は、上記のループの割り当てを変更して、必要なフィールドのみを引き出す必要があります。
>