如果有类似的问题,我很抱歉...我很难找到它们!我想要做的是在数据库中选择一些行,然后获取它们,但是根据唯一的行将它们分组回显。让我用一个例子解释(我省略了一些东西为简洁起见):具有唯一值的MySQL回声组PHP
我有这样的选择查询:
SELECT
e.exercisename ExerciseName,
eh.reps Reps,
eh.weight Weight
FROM workouts w
JOIN users u ON w.userid = u.id
JOIN workouts_history wh ON w.id = wh.workoutid
JOIN exercises e ON wh.exerciseid = e.id
JOIN exercises_history eh ON wh.id = eh.workouts_historyid
眼下,这给了我基于关闭此而表:
while($workoutrowridge = $workoutresultridge->fetch_assoc()) {
$workoutoutputridge .= '<tr>';
$workoutoutputridge .= '<td>'.$workoutrowridge['ExerciseName'].'</td>';
$workoutoutputridge .= '<td>'.$workoutrowridge['Reps'].'</td>';
$workoutoutputridge .= '<td>'.$workoutrowridge['Weight'].'</td>';
$workoutoutputridge .= '</tr>';
}
,看起来像这样:
Exercise | Reps | Weight
---------------------------
Squats | 8 | 135
Squats | 8 | 225
Squats | 6 | 315
Squats | 2 | 405
Squats | 1 | 485
Bench (DB) | 8 | 60
Bench (DB) | 6 | 80
Bench (DB) | 4 | 90
Bench (DB) | 2 | 95
Pullup | 4 | 0
Pullup | 3 | 25
Pullup | 1 | 45
Pullup | 1 | 70
我想做些什么,虽然发生了,是为h为每个独特的“练习名称”(例如)附上新的表格。锻炼可能只有1运动,或者它可能有20个,并使用不同量的集每一个,就像这样:
Exercise | Reps | Weight
---------------------------
Squats | 8 | 135
Squats | 8 | 225
Squats | 6 | 315
Squats | 2 | 405
Squats | 1 | 485
Exercise | Reps | Weight
---------------------------
Bench (DB) | 8 | 60
Bench (DB) | 6 | 80
Bench (DB) | 4 | 90
Bench (DB) | 2 | 95
感觉好像是要保持这个作为一个查询的方式,只是在PHP中使用某种类型的foreach来做到这一点......但我一直无法得到这个。有什么建议么?
这是一个很好的解决方案,谢谢。我将接受另一个答案作为正确答案,因为这是第一个答复。但我仍然会给你一个这个答案的投票。 –
@RidgeRobinson没关系我只是想帮忙,你很有礼貌:),是他的回答来之前米恩:) –