質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1565閲覧

複数のテーブルを内包しているテーブルを列ごとに色付けしたい

ao_love

総合スコア441

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2015/06/02 04:59

![イメージ説明]WIDTH:600

お世話になっております。
上記のようなテーブルがあり、これに隔列で色を付けたいと思っています。
それだけなら難しくないのですが、実はテーブルが入れ子になっており、縦一列が一つのテーブルになっています。
横軸は人で、DBから動的に出力しているので、人が増えれば増えます。

出力の際のソースは以下のようになっています。

lang

1//ドライバーIDをkeyにした配列を回して日毎の件数をだす 2foreach($driver AS $key=>$value){ 3 $name = $value; 4 $cnt = ""; 5 $cnt_td = ""; 6 $td = ""; 7 $sum = ""; 8 foreach($dates AS $d_key=>$date){ 9 $td .= "<tr><td>".$date."</td></tr>"; 10 $sql = "SELECT count(*) as cnt, 11 DATE_FORMAT(sales_date,'%Y-%m-%d') AS sdate, 12 sales_reception AS rcpt, 13 sales_date 14 FROM sales 15 WHERE sales_reception = '$key' 16 GROUP BY sales_reception,sdate 17 HAVING sdate = '$date'"; 18 $res = $conDB->query($sql); 19 20 if(!$res){ 21 $cnt[] = 0; 22 }else{ 23 $cnt[] = $res[0]['cnt']; 24 } 25 } 26 foreach($cnt AS $count){ 27 $sum += $count; 28 $cnt_td .= "<tr><td>".$count."</td></tr>"; 29 } 30 31 $html .= "<td><table><tr><td>".$name."</td></tr>".$cnt_td."<tr><td>".$sum."</td></tr></table></td>"; 32} 33 34foreach($dates AS $daily){ 35 $sql = "SELECT count(*) as cnt, 36 DATE_FORMAT(sales_date,'%Y-%m-%d') AS sdate 37 FROM sales 38 GROUP BY sdate 39 HAVING sdate = '$daily'"; 40 $res = $conDB->query($sql); 41 42 if(!$res){ 43 $day_sum = 0; 44 }else{ 45 $day_sum = $res[0]['cnt']; 46 $total += $res[0]['cnt']; 47 } 48 49 $sum_td .= "<tr><td>".$day_sum."</td></tr>"; 50} 51$html .= "<td><table class='bold'><tr><td>日計</td></tr>".$sum_td."<tr><td>".$total."</td></tr></table></td>"; 52 53$date_html = "<td><table width='120px'><tr><td>日付</td></tr>".$td."<tr><td>合計</td></table></td>"; 54 55

この場合、どのような手法を用いればいいのでしょうか?
よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

すこし面倒かもしれませんが、パッと思いつくのはcssのnth-childを利用する方法でしょうか。

投稿2015/06/02 05:01

orange0190

総合スコア1698

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ao_love

2015/06/02 06:20

ありがとうございます! cssを2行追加するだけで思い通りの表示になりました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問