- ベストアンサー
PHPで特定のセルの背景を赤にする方法
- PHPで作成したテーブルとDB内の特定の数字を照合し、セルとDBで一致した数字のTDの背景色を赤にしたいです。
- DB内の特定の数字と1~100までの数字の照合の方法がわかりません。
- 配列を使って照合させるためのIF文の書き方を教えてほしいです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
色を変えるだけなら合致したときだけクラスを設定するのが妥当ですね こんな感じ? <style> table{border-collapse:collapse;} td{border:solid 1px #000000;text-align:center;} .red{background-Color:#ff0000;} </style> <?PHP $a=range(1,10); $b=array(1,4,8); print "<table>\n"; for($i=0;$i<count($a);$i++){ print "<tr>\n"; $class=(in_array($a[$i],$b))?" class=\"red\"":""; print "<td{$class}>\n"; print $a[$i]; print "</td>\n"; print "</tr>\n"; } print "</table>\n"; ?>
その他の回答 (2)
- ONEONE
- ベストアンサー率48% (279/575)
数字だけなら DBに入っている数字を配列に詰め込む phpで1~100を書き出すときに、in_arrayで判定する
お礼
ありがとうございます
- kamikami30
- ベストアンサー率24% (812/3335)
簡単なよくあるサンプルの組み合わせできそうですけど、調べてますか? まず、状況説明として、不足があります。 >DBに1~100までの特定の数字が入っています。 どんな構造のDBですか? データの個数は? 順番は? 例えば、 DBの特定のフィールドの100個のカラムに、1~100の中の特定の数字が入っています。 出力するテーブルは2列100行で、 一列目には1~100の数字が順に、 二列目にはDBから取り出した数字が取り出した順に と言う書式です。 一列目と二列目の同じ行で、値が同じセルの背景を赤くしたい。 と言うなら、状況がわかる。 で、その場合の回答 取得する値は、$res_no等と言う配列で受けとると、受け取った番号だと明示的になる。 個の場合なら配列の値の個数は必ず100個だが、汎用的にするなら配列の値の個数もカウントする。 for文で1から個数までループ ループ内で比較対照を比較し判定結果により背景色の違うhtmlを出力
お礼
ありがとうございます まだ、理解不足が多々有りとても参考になりました。