查询应如下所示:
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都包含两个表中的字段…如果这是一个问题,那么您需要在上面的循环中更改分配以仅拉出您想要的字段。