似たような質問があればお詫び申し上げます。私がやりたいことは、データベース内のいくつかの行を選択し、それらをフェッチすることですが、一意の行に基づいてグループにエコーします。私は(私は簡潔にするためにいくつかのことを省略している)の例で説明しましょう: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にあります一意の「ExerciseName」ごとに新しいテーブルをエコーします(たとえば)。ワークアウトはわずか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
私は1つのクエリとしてこれを維持する方法があるように感じる、とだけこれを行うにはPHPでforeachのいくつかの型を使用してください...しかし、私はこれを得ることができませんでした。助言がありますか?
それは良い解決です、ありがとう。私はそれが最初の応答だったので、他の答えを正しいものとして受け入れるつもりです。しかし、私はまだあなたにこの答えに対する投票を与えます。 –
@RidgeRobinsonそれは大丈夫です私はちょうど助けたいと思っていました、あなたは礼儀正しくです:)はい、彼の答えはmienの前に来ます:) –