2011-12-10 13 views
-2

こんにちは、私はデータベースから読み取った値に応じてhtmlテーブルの色を変更しようとしています。私は達成しようとしているもののイメージを送っています。 table http://oi40.tinypic.com/ejzuz9.jpg値に応じてhtmlテーブルのセルの色を変更してください

+4

これまで試みてきたコードを共有する必要があります。 StackOverflowは人々をコードする場所ではありませんが、あなたがすでに持っているコードではうまくいきません。 – davidethell

+1

「これは私がしたいことです」だけでなく、いくつかの情報を提供してください。あなたのコードを表示し、色を変えるための条件を教え、あなたが試したことを使用して、実際に質問する*。あなたは新しいユーザーではないので、あなたが何が期待されているかを知る必要があります。私たちはここにあなたのコードを書くのではありません。 – DaveRandom

+0

さて、そのオブジェクトについてのコードはまだありません:)、私はそれらの変数の1つでRGBを使うことを考えていました。 – Evan

答えて

2

まず、あなたの投稿には本当に詳細が不足しているため、ダウンボートを受け取ったと思います(あなたがこれまでに試したことのいくつかのコード例を提供してください)。

PHPを使用してHTMLをレンダリングしていて、「0」の値が白である値に基づいて異なる色合いのオレンジを適用したいとします。たとえば、 「30」はオレンジ色です。私はここでコードをテストしておらず、特定のコードで動作するように修正する必要があることは間違いありません。

$max = 30; 
$values = array(0, 5, 10, 15, 20, 25, 30); 
$white = array(255, 255, 255); 
$orange = array(255, 63, 0); 

echo '<table><tr>'; 
foreach ($values as $value) { 
    $red = $white[ 0 ] + (($orange[ 0 ] - $white[ 0 ]) * $value/$max); 
    $green = $white[ 1 ] + (($orange[ 1 ] - $white[ 1 ]) * $value/$max); 
    $blue = $white[ 2 ] + (($orange[ 2 ] - $white[ 2 ]) * $value/$max); 

    $color = $rgb2html($red, $green, $blue); 

    echo '<td style="background-color: '.$color.'">'.$value.'</td>'; 
} 
echo '</tr></table>'; 

// function from http://www.anyexample.com/programming/php/php_convert_rgb_from_to_html_hex_color.xml 
function rgb2html($r, $g=-1, $b=-1) 
{ 
    if (is_array($r) && sizeof($r) == 3) 
     list($r, $g, $b) = $r; 

    $r = intval($r); $g = intval($g); 
    $b = intval($b); 

    $r = dechex($r<0?0:($r>255?255:$r)); 
    $g = dechex($g<0?0:($g>255?255:$g)); 
    $b = dechex($b<0?0:($b>255?255:$b)); 

    $color = (strlen($r) < 2?'0':'').$r; 
    $color .= (strlen($g) < 2?'0':'').$g; 
    $color .= (strlen($b) < 2?'0':'').$b; 
    return '#'.$color; 
} 
+0

ありがとうコードを投稿する必要があることは分かっていますが、投稿するだけの価値はありません.REDを変えて、最終的な色が赤と黒の間で変わってしまいますが、よく見えます。 – Evan

+0

私はすべての人に興味を持ってこれを使ってしまった [link](http://www.codingforums.com/archive/index.php/t-79463.html) – Evan

0

これには2通りの方法があります。

  1. & else文を使用して、値の各範囲でセルを特定のクラスでレンダリングします。少し複雑です。

2.完全な表をレンダリングし、各値をjavascriptで読み取って目的の背景色を変更します。

+3

OPがあまり努力していないところで質問に答えないでください。勇気づけるだけで問題が悪化します。 – DaveRandom

+0

私はここにサインアップしましたので、私は自分自身を優しくしています;) – Elodie

関連する問題