レポートを生成するために必要な単純なデータベース(MySqlを使用)があります。
ユーザーから送信された週次ログを含むテーブルがあります。これらの各ログには、送信済み、承認済みなどの状態があります。
LogSubmissionsテーブル + ---- + -------- + -------- + --------- + ------- + | id | weekId | userId | 情報...| 状態| + ---- + -------- + -------- + --------- + ------- + | 0 | 0 | 1 | データ...| 0 | | 1 | 0 | 2 | データ...| 1 | | 1 | 0 | 3 | データ...| 1 | | 2 | 1 | 1 | データ...| 0 |
週を追跡するテーブルもあります。
WeekManagerテーブル + ---- + ----------- + --------- + --------- + | id | startDate | EndDate | ... | + ---- + ----------- + --------- + --------- + | 0 | Date1 | Date2 | ... | | 1 | Date3 | Date4 | ... | | 2 | Date5 | Date6 | ... |
ユーザーテーブルの名前だけでなく、週を列として表示するレポートが必要です。ユーザーが送信した週次ログの状態が表示されます。たとえば、第1週のボブ送信の状態は0です。
報告する + ------ + -------- + -------- + -------- + ------- + | 名前| 1週目| 2週目| 3週目| ... | + ------ + -------- + -------- + -------- + ------- + | ボブ| 0 | 1 | 0 | ... | | ジョー| 1 | 1 | 1 | ... | | ジム| 0 | 0 | 0 | ... |
このレポートを機能させるのに少し問題があります。私の主な障害は、週が追加されることです。そのため、レポートの列の数が異なります。
これはここではかなり役に立ちましたが、静的な量の行しか処理しません。週数によって違うものが必要です。これを実現するために何らかのループを使用することを考えていましたが、それが可能かどうかはわかりません。
どんな助けでもありがたいです、ありがとう。
ユーザーテーブル:
ユーザーテーブル + ---- + ------ + --------- + | id | 名前| ... | + ---- + ------ + --------- + | 0 | ... | ... | | 1 | ... | ... | | 2 | ... | ... |