Truy vấn sẽ trông giống như sau:
SELECT * FROM scales
INNER JOIN items ON scales.id = items.scale_id
Nếu bạn muốn lặp lại với các vòng lặp lồng nhau, bạn sẽ cần kéo dữ liệu này vào một mảng - hy vọng rằng bạn không kéo lại nhiều đến mức nó sẽ chiếm quá nhiều bộ nhớ.
$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;
}
Sau đó, bạn có thể lặp lại:
foreach ($scales as $scale)
{
foreach ($scale['items'] as $item)
; //... do stuff
}
Lưu ý:điều này hơi ngây thơ ở chỗ $ scale và $ item đều sẽ chứa các trường từ CẢ HAI bảng ... nếu đó là vấn đề thì bạn cần thay đổi các phép gán trong vòng lặp ở trên để chỉ lấy ra các trường bạn muốn.