する質問をすることでしか得られない、回答やアドバイスがある。2,053退会済みユーザーDBからレコードを取得した値が、以下のような形で配列に格納されています。4...このように表示しています。これを同じc_idはまとめて、日付のみ後ろに付け足していきたいです。4...さらにレコードがない日付は空白が入るようにしたいです。4...よろしくお願いします。**追記c_idが同じレコードはoffice_id,area_idは等しいです。c_idが違ってもoffice_id,area_idが同じ場合はあります。レコードのMAXは可変です。多いレコード数分横並びにします。4...このような形で出力したいと考えております。**attachmentクリップ0気になる質問をクリップするクリップした質問は、後からいつでもマイページで確認できます。クリップした質問に回答があった際、通知やメールを受け取ることができます。自分も答えを知りたい質問者以外のユーザにも役立つ評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。質問の評価を上げたことを取り消します低評価-評価を下げられる数の上限に達しました評価を下げることができません1日5回まで評価を下げられます1日に1ユーザに対して2回まで評価を下げられます質問の評価を下げるteratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。コメントをしてください。送信する質問の評価を下げる機能の利用条件この機能を利用するためには、以下の事項を行う必要があります。16:36情報が少なく失礼いたしました。情報が少なく失礼いたしました。16:37こちらの質問が他のユーザから「やってほしいことだけを記載した丸投げの質問」という指摘を受けました「質問を編集する」ボタンから編集を行い、調査したこと・試したことを記入していただくと、回答が得られやすくなります。echo('</tr>');}DBからmaxとcountを使って先に最大何列になるか取得しておくとtdで埋めるの楽かな?と思います。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。編集ご回答ありがとうございました。上記の方法で、配列に同じc_idをまとめて格納することができました。|office_id|area_id|c_id|date|sum_num|date|sum_num|date|sum_num||---|---|---|---|---|---|---|---|---||0000|0000|0000000|2016-10-25|6|2016-10-26|2|2016-11-01|4||0000|0000|0000001|2016-10-25|6|2016-10-26|2||||0000|0000|0000002|||2016-10-26|2|2016-11-01|4||...|||||||||ただ上記の表の様に表示するためには、レコードのない日付の部分を同じ列で揃える方法が上手くいきませんでした。全ての日付を一度取得し、その日付があるか調べるといった方法を考えましたが、上手く実装できませんでした。最終的には|office_id|area_id|c_id|2016-10-25|2016-10-26|2016-11-01|2016-11-04||---|---|---|---|---|---|---||0000|0000|0000000|6|2|4||0000|0000|0000001|6|2||||0000|0000|0000002|||2|4||...|||||||||といったように日付は一番上の<th>で一回のみ出力ということを考えております。上に書いた日付を一度取得し、という方法ではなく表の<th>にあたる部分とそれ以外は別の配列にそれぞれ格納するといった方法を考えたほうが良いのでしょうか?ご回答ありがとうございました。上記の方法で、配列に同じc_idをまとめて格納することができました。上記の表の様に表示するためには、レコードのない日付の部分を同じ列で揃える方法が上手くいきませんでした。全ての日付を一度取得し、その日付があるか調べるといった方法を考えましたが、上手く実装できませんでした。いったように日付は一番上の<th>で一回のみ出力ということを考えております。11:46御回答ありがとうございます。レコード取得時点で、最終データに近い形で取得できるべきならそうするべきですね。自分の知識では、この形で取得することが限界だと考えており、そこから整形でどうにかするしかないと考えていました。レコードの取得方法について勉強してみます。御回答ありがとうございます。レコード取得時点で、最終データに近い形で取得できるべきならそうするべきですね。自分の知識では、この形で取得することが限界だと考えており、そこから整形でどうにかするしかないと考えていました。レコードの取得方法について勉強してみます。11:50基本的な考えとしては最終のフォーマットに近いデータをSQLで取得し、それで補いきれない箇所をphp側の処理でするのが理想ですね。厳密にいうならSQL側にさせた方が早い(負荷が低い)のかphp側でさせたほうが早いのかのトレードオフで、、、DB構造はよくわかりませんが、おそらく今回のはSQLでしたほうが良いと思います。基本的な考えとしては最終のフォーマットに近いデータをSQLで取得し、それで補いきれない箇所をphp側の処理でするのが理想ですね。厳密にいうならSQL側にさせた方が早い(負荷が低い)のかphp側でさせたほうが早いのかのトレードオフで、、、DB構造はよくわかりませんが、おそらく今回のはSQLでしたほうが良いと思います。11:57c_idがログインした時間と日付を日付ごとにまとめて取得するだけなので、おそらくSQLで行っても負荷はそれほどないので、SQL側で何とかならないか頑張ってみようと思います。c_idがログインした時間と日付を日付ごとにまとめて取得するだけなので、おそらくSQLで行っても負荷はそれほどないので、SQL側で何とかならないか頑張ってみようと思います。キャンセル完了するlink0効率的かどうかはともかく、せっかくなのでプロシージャでやる方法を提示しておきます。評価が高い回答ほどページの上位に表示されます。remove低評価0回答の評価を下げる下記のような回答は推奨されていません。評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。11:42御回答ありがとうございます。プロシージャというものを、そもそも知らなくて大変勉強になりました。試せておりませんが、ご参考にさせていただきます。御回答ありがとうございます。プロシージャというものを、そもそも知らなくて大変勉強になりました。試せておりませんが、ご参考にさせていただきます。頂いたご意見への回答は行っておりません。