1

ワークアウトと呼ばれる mysql テーブルのレイアウトは次のとおりです。

exercise   |weight|sets|reps|action  | wn
----------------------------------------------
deadlift   |  80  |  6 |  1 | pull   | 32
bb press   |  40  |  3 |  5 | push   | 32
bb rows    |  20  |  2 |  5 | pull   | 31
blahblah   |  blah|  3 |  5 | push   | 31 
blahblah   |  blah|  3 |  5 | squat  | 31
blahblah   |  blah|  3 |  5 | push   | 30
blahblah   |  blah|  3 |  5 | hinge  | 30
blahblah   |  blah|  3 |  5 | carry  | 29

アクションごとに結果を sum sets*reps として並べ替え、結果を wn で並べ替え、php を使用して表に表示したいと考えています。

したがって、次のような各 wn と各アクションの合計の行があります。

wn | push | pull | squat | hinge | carry 
----------------------------------------
32 | 80   | 120  |  90   | 180   | 40
31 | 65   | 60   |  80   | 150   | 34
30                          
29

ありがとう。

4

2 に答える 2

0

問題が正しければ、次のようなことができます。

// $rows are your MySQL fetch_assoc rows
foreach ($rows as $row) {
    if(!isset ($wn_array[$row['wn']][$row['action']]) 
        $wn_array[$row['wn']][$row['action']] = ($row['sets'] * $row['reps']);
    else
        $wn_array[$row['wn']][$row['action']] += ($row['sets'] * $row['reps']); 
}

探しているものに対応する $wn_array が得られます。これは非常に使いやすいはずです。

于 2013-08-21T07:00:03.913 に答える