Re: change of color on a field value basis in a table... [message #180769 is a reply to message #180748] |
Sun, 17 March 2013 10:31 |
bill
Messages: 310 Registered: October 2010
Karma:
|
Senior Member |
|
|
On 3/16/2013 12:17 PM, nag wrote:
> On Saturday, 16 March 2013 18:46:53 UTC+5:30, nag wrote:
>> Hi,
>>
>> I am a newbie to php. Here I am trying to print the table
rows with different colors based on a value of a field.
But it is displaying the very first record in different
color and next is the other color until the date field changes.
>>
>>
>>
>> suppose:
>>
>>
>>
>> id dt
>>
>> xyz 05 (this is in #a99999 color)
>>
>> abc 05 (this is in #ffffff color)
>>
>> 123 05 (this is in #ffffff color)
>>
>> 324 06 (this is in #a99999 color)
>>
>> ccc 06 (this is in #ffffff color)
>>
>>
>>
>>
>>
>> but i need first three (with 05 date) in same color
and next records in other color alternatively.
>>
>>
>>
>> the following is my code:
>>
>>
>>
>>
>>
>> if($tmp!=$dt){$color="#a99999"; $tmp=$dt;}else{$color="#ffffff";}
>>
>>
>>
>> while($row = mysql_fetch_array( $result )) {
>>
>> $id=$row[1];
>>
>>
>>
>> $dt=substr($row[5],5,2);
>>
>>
>>
>> // Print out the contents of each row into a table
>>
>>
>>
>> $slno++;
>>
>> $tmp=$dt;
>>
>>
>>
>> if($tmp!=$dt){$color="#a99999"; $tmp=$dt;}else{$color="#ffffff";}
>>
>>
>>
>> echo "<tr bgcolor='$color'><td align='right'>";
>>
>> echo $slno;
>>
>> echo "</td><td><b>";
>>
>> echo $row[0];
>>
>> echo "</td><td align='center'>";
>>
>> ?>
>>
>> <a href="profile.php?id=<?php echo $idnum; ?>"><?php echo $idnum;?>
>>
>> </a>
>>
>> <?PHP
>>
>> echo "</td><td>";
>>
>> echo sprintf("%07d",$row[2]);
>>
>> echo "</td><td align='center'>";
>>
>> echo $row[3];
>>
>> echo "</td><td align='center'><b>";
>>
>> echo $row[4];
>>
>> echo "</td><td align='center'>";
>>
>> echo $row[5];
>>
>> echo "</td><tr>";
>>
>> }
>>
>> echo "</table>";
>>
>>
>>
>> thank you.
>
> Here in my data the date differs in a month.
So I want to display same month records in one color.
Maximum i will have three different months records.
Thats the reason i am checking $dt (month tag from the date) is
same from the previous date.
>
>
> the code :
>
> if($tmp!=$dt){
> $color="#a99999";
> $tmp=$dt;
>
> }else{
> $color="#ffffff";
> }
>
> is not working.
>
AS pointed out in 2 earlier messages, as you assign $dt to $tmp
before the compare, they will never differ. I suspect you want
to remove the first assignment (above the compare).
|
|
|