データベースからある期限(14年3月21日から3月30日)で取得した下記の多次元配列から日付に該当するデータがあればセルに値を入れて表を作ったのですが、
<?php
$cal=array(
array("type" => 19, "name" => "山田", "hour" => 5, "day" => 2014-03-21),
array("type" => 19, "name" => "山田", "hour" => 8, "day" => 2014-03-24),
array("type" => 19, "name" => "山田", "hour" => 8, "day" => 2014-03-26),
array("type" => 19, "name" => "田中", "hour" => 8, "day" => 2014-03-23),
array("type" => 19, "name" => "田中", "hour" => 8, "day" => 2014-03-26),
array("type" => 19, "name" => "田中", "hour" => 3, "day" => 2014-03-28),
array("type" => 20, "name" => "大田", "hour" => 3, "day" => 2014-03-21),
array("type" => 20, "name" => "大田", "hour" => 5, "day" => 2014-03-27),
array("type" => 20, "name" => "田中", "hour" => 3, "day" => 2014-03-24),
array("type" => 20, "name" => "田中", "hour" => 4, "day" => 2014-03-27),
array("type" => 0, "name" => "高橋", "hour" => 1, "day" => 2014-03-27),
);
?>
<?php foreach ( $cal as $val ) : ?>
<tr>
<td><?php echo $val['type']; ?></td>
<td><?php echo $val['name']; ?></td>
<?php for ( $i = 21; $i <= 30; $i ++ ) : ?>
<td>
<?php
if ( $day == $i ) {
echo $val['hour'];
}
?>
</td>
<?php endfor; ?>
</tr>
<?php endforeach; ?>
同じIDと名前の行が複数あり、同じIDと名前の行をひとつにしたいのです(画像参照)がわからず質問させていただきました。よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
ちょっと微妙なかんじですが、sql側で集計したものを表示した方がはやくないですか?
//元データ
create table tbl(type int,name varchar(20),hour int,day date);
insert into tbl
values(19,"山田",5,"2014-03-21")
,(19,"山田",8,"2014-03-24")
,(19,"山田",8,"2014-03-26")
,(19,"田中",8,"2014-03-23")
,(19,"田中",8,"2014-03-26")
,(19,"田中",3,"2014-03-28")
,(20,"大田",3,"2014-03-21")
,(20,"大田",5,"2014-03-27")
,(20,"田中",3,"2014-03-24")
,(20,"田中",4,"2014-03-27")
,(0,"高橋",1,"2014-03-27");
//集計
select type,name
,sum(hour*(day='2014-03-21')) as '0321'
,sum(hour*(day='2014-03-22')) as '0322'
,sum(hour*(day='2014-03-23')) as '0323'
,sum(hour*(day='2014-03-24')) as '0324'
,sum(hour*(day='2014-03-25')) as '0325'
,sum(hour*(day='2014-03-26')) as '0326'
,sum(hour*(day='2014-03-27')) as '0327'
,sum(hour*(day='2014-03-28')) as '0328'
from tbl
group by type,name;
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP php ログイン 1 2022/11/01 00:24
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ポインタ配列をfscanfで読み込...
-
複数条件での検索について教え...
-
PHPからHTMLへの変数の受け...
-
VBA で、スペースを含むファイ...
-
Smartyを利用したファイルアッ...
-
WordのIDataObject::GetData呼...
-
phpで変数を使ってcopyできない
-
openCVのトラックバーについて
-
UPDATEできない
-
POSTの項目に追加
-
重複を防ぐ記述について教えて...
-
Flaskでサーバー立ち上げに関して
-
検索結果の出力先を違うフレー...
-
csvファイルチェック
-
laravelを利用してコントロール...
-
phpでのセレクトボックスの値を...
-
検索時の選択内容を保持する方法
-
PHPでURLにジャンプするには?
-
PHP ボタンが押されたら処理を...
-
phpで分からないエラーが出てし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Flaskでサーバー立ち上げに関して
-
重複を防ぐ記述について教えて...
-
VBA で、スペースを含むファイ...
-
phpで変数を使ってcopyできない
-
PHPで入力フォームでデータを確...
-
PHPからHTMLへの変数の受け...
-
POSTの項目に追加
-
PHP MySql 画像を取得
-
MySQL,PHPのリロードによる二重...
-
UPDATEできない
-
ファイル名を変更してアップロ...
-
php、sqlite3にデーター追加で...
-
openCVのトラックバーについて
-
複数条件での検索について教え...
-
PHP5でsimple_xml_load_fileす...
-
PHPのリロード時の処理
-
連想配列を複数条件で比較して...
-
PDOのprepareでLIKEの部分一致...
-
POSTされない
-
アップロードしたファイルの絶...
おすすめ情報