ホームページ >バックエンド開発 >PHPチュートリアル >データ表示処理とその対処方法

データ表示処理とその対処方法

WBOY
WBOYオリジナル
2016-06-13 13:48:221197ブラウズ

データ表示処理

XMLコード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
时间段            机种            数量
        
2012-02-08 08    ETC56-542N    43
2012-02-08 09    ETC56-542N    37
2012-02-08 10    ETC54-623N    16
2012-02-08 10    ETC54-628N    22
                



を以下の形式に加工するにはどうすればよいでしょうか?
XML コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
时间段            ETC56-542N      ETC54-623N     ETC54-628N    数量合计
                
08:00:00-09:00:00    43                    43
09:00:00-10:00:00    37                    37
10:00:00-11:00:00            16          22        38


SQL クエリ ステートメント:
SQL コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
SELECT DATE_FORMAT(`date`,'%Y-%m-%d %H') as time,type,count(*) as count FROM `barcode_2d` WHERE date >= '".$thisday2." 08:00:00' AND date < '".$thisday." 08:00:00' GROUP BY type , time ORDER BY date ASC





------解決策----------------------
はい、このケースはクロス集計です。 「クロス集計」を検索すると、クロス集計の定義とアルゴリズムを取得できます
データベースと組み合わせて使用​​できる既製のストアド プロシージャがあります。ただし、アルゴリズムは非常に専門的であるため、理解できない場合があります。

PHP のみを使用して実装する場合、考え方は非常に簡単です。
1. クエリ結果を配列
に保存します。 2. 必要な範囲でデータを処理します。形式
3. 配列を行と列に変換します
4. 配列を走査して出力
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。