0

こんにちは、次のようないくつかのフィールドを持つテーブルがあります
ここに画像の説明を入力

ここでは、テーブル全体の行の色を作成したい.. ASR 値が 75 から 100 の場合は 1 つの色を取得し、50 から 75 は別の色を取得し、50 未満は別の色を取得する必要があることを意味します。

ここに私のphpコードがあります

<table width="75%" border="1">
<tr>
<td align="center">channel no</td>
<td align="center">IP</td>
<td align="center">Total calls</td>
<td align="center">Connected calls</td>
<td align="center">Disconnected calls</td>
<td align="center">Duration</td>
<td align="center">ASR</td>
<td align="center">ACD</td>

</tr> 
<?php

while ($row = mysql_fetch_assoc($result)) {

//$minutes = gmdate("H:i:s", $row['tduration']);
echo "<tr>

<td>".$row['channel']."&nbsp;</td>
<td>".$row['ip']."&nbsp;</td>
<td>".$row['totalcalls']."&nbsp;</td>";

if ($row['totalcalls']>1){
$sql1    = "SELECT count(duration) as count  FROM gateways where duration=0 and ip='".$_POST['ip']."' and channel='".$row['channel']. "' and (connect_datetime BETWEEN ' ".$_POST['toval']." ' and '".$_POST['fromval']."'  or disconnect_datetime BETWEEN ' ".$_POST['toval']." ' and '".$_POST['fromval']."' ) Group by channel";

$result1 = mysql_query($sql1, $link);
$norow=mysql_fetch_assoc($result1);
$attenedcalls=($row['totalcalls']-$norow['count']);
echo "<td>".$attenedcalls."&nbsp;</td>";
$disconnectedcalls=($row['totalcalls']-$attenedcalls);
echo "<td>".$disconnectedcalls."&nbsp;</td>";
echo "   <td>".$row['tduration']."&nbsp;</td>";
echo "<td>".(($attenedcalls/$row['totalcalls'])*100)."</td>";
}else{

    echo "<td>".$row['totalcalls']."</td>";

    echo "<td>100</td>";

}

$minutes = gmdate("H:i:s", ($row['tduration']/$attenedcalls));
echo "   <td>".$minutes."&nbsp;</td>
</tr>";
}
?>
</table>  

前もって感謝します

4

3 に答える 3

1

このように試すことができます

<table width="75%" border="1">
<tr>
<td align="center">channel no</td>
<td align="center">IP</td>
<td align="center">Total calls</td>
<td align="center">Connected calls</td>
<td align="center">Disconnected calls</td>
<td align="center">Duration</td>
<td align="center">ASR</td>
<td align="center">ACD</td>

</tr> 
<?php

while ($row = mysql_fetch_assoc($result)) {
$color = '';
if ($row['totalcalls']>1){
    $sql1    = "SELECT count(duration) as count  FROM gateways where duration=0 and ip='".$_POST['ip']."' and channel='".$row['channel']. "' and (connect_datetime BETWEEN ' ".$_POST['toval']." ' and '".$_POST['fromval']."'  or disconnect_datetime BETWEEN ' ".$_POST['toval']." ' and '".$_POST['fromval']."' ) Group by channel";

    $result1 = mysql_query($sql1, $link);
    $norow=mysql_fetch_assoc($result1);
    $attenedcalls=($row['totalcalls']-$norow['count']);
    $asr = (($attenedcalls/$row['totalcalls'])*100);
    if($asr >= 75 && $asr <=100 ){
        $color = 'red';
    }else if($asr >= 50 && $asr < 75){
        $color = 'cyan';
    }else if($asr < 50){
        $color = 'blue';
    }
}
//$minutes = gmdate("H:i:s", $row['tduration']);
echo "<tr style='background-color : ".$color."'>

<td>".$row['channel']."&nbsp;</td>
<td>".$row['ip']."&nbsp;</td>
<td>".$row['totalcalls']."&nbsp;</td>";

if ($row['totalcalls']>1){

echo "<td>".$attenedcalls."&nbsp;</td>";
$disconnectedcalls=($row['totalcalls']-$attenedcalls);
echo "<td>".$disconnectedcalls."&nbsp;</td>";
echo "   <td>".$row['tduration']."&nbsp;</td>";
echo "<td>".$asr."</td>";
}else{

    echo "<td>".$row['totalcalls']."</td>";

    echo "<td>100</td>";

}

$minutes = gmdate("H:i:s", ($row['tduration']/$attenedcalls));
echo "   <td>".$minutes."&nbsp;</td>
</tr>";
}
?>
</table>  
于 2012-09-05T07:17:55.410 に答える
0
 [...]  
 while ($row = mysql_fetch_assoc($result)) { 
 $asrVal=(($attenedcalls/$row['totalcalls'])*100);
 if($asrVal>=50 && $asrVal <=75) $class="from50to75";
 if($asrVal>=75 && $asrVal <=100) $class="from75to100";
 if($asrVal<50) $class="below50";
 //$minutes = gmdate("H:i:s", $row['tduration']); 
 echo "<tr class='$class'> 
 [...]  

それから加えて:

<style>
tr.from50to75 td{background-color:red;}
tr.from75to100 td{background-color:green;}
tr.below50 td{background-color:blue;}
</style>
于 2012-09-05T07:20:38.153 に答える
0

タグwhileを発行する前に ASR 値を計算するようにループを変更します。その値を使用して、設定した分類に従ってクラスを選択し、選択したクラス名で<tr>あるフォームのタグを発行します。次に、 のようなクラス セレクターを使用して、クラスの CSS ルールを記述するだけです。<tr class=foo>footr.foo

(セルに色を設定していない場合。設定している場合は、そのような設定をオーバーライドするなどのtdセレクターを使用する必要があります。)tr.foo td

于 2012-09-05T07:17:52.930 に答える