FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » change of color on a field value basis in a table...
Show: Today's Messages :: Unread Messages :: Show Polls :: Message Navigator
| Subscribe to topic | Bookmark topic 
Switch to threaded view of this topic Create a new topic Submit Reply
change of color on a field value basis in a table... [message #180743] Sat, 16 March 2013 09:16 Go to next message
Nagaraju Kachapuram is currently offline  Nagaraju Kachapuram
Messages: 14
Registered: February 2013
Karma: 0
Junior Member
add to buddy list
ignore all messages by this user
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.
Re: change of color on a field value basis in a table... [message #180744 is a reply to message #180743] Sat, 16 March 2013 10:34 Go to previous messageGo to next message
bill is currently offline  bill
Messages: 310
Registered: October 2010
Karma: 0
Senior Member
add to buddy list
ignore all messages by this user
On 3/16/2013 9:16 AM, 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.
>

modestly confused: if I read what you wrote it seems you want
the 05 records to be #a99999 and
all other records to alternate between #fff and some other (as
yet unspecified) color ?

however:
$dt=substr($row[5],5,2);

// Print out the contents of each row into a table

$slno++;
$tmp=$dt; <<< this insures that $tmp will always = $dt

if($tmp!=$dt) { <<< so this will never be true
$color="#a99999";
$tmp=$dt;
}
else { <<< BTW, the brackets are not needed if it is a
single statement, but they are not wrong either
$color="#ffffff";
}

--
bill
Re: change of color on a field value basis in a table... [message #180745 is a reply to message #180743] Sat, 16 March 2013 10:40 Go to previous messageGo to next message
Arno Welzel is currently offline  Arno Welzel
Messages: 317
Registered: October 2011
Karma: 0
Senior Member
add to buddy list
ignore all messages by this user
nag, 2013-03-16 14:16:

> 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;

Why this? You want to check, if the new date differs. So why do you
assign $dt to $tmp, before you compare it here (and assign the different
value to $tmp then again)?

> if($tmp!=$dt){$color="#a99999"; $tmp=$dt;}else{$color="#ffffff";}
> echo "<tr bgcolor='$color'><td align='right'>";




--
Arno Welzel
http://arnowelzel.de
http://de-rec-fahrrad.de
Re: change of color on a field value basis in a table... [message #180748 is a reply to message #180743] Sat, 16 March 2013 12:17 Go to previous messageGo to next message
Nagaraju Kachapuram is currently offline  Nagaraju Kachapuram
Messages: 14
Registered: February 2013
Karma: 0
Junior Member
add to buddy list
ignore all messages by this user
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.
Re: change of color on a field value basis in a table... [message #180769 is a reply to message #180748] Sun, 17 March 2013 06:31 Go to previous message
bill is currently offline  bill
Messages: 310
Registered: October 2010
Karma: 0
Senior Member
add to buddy list
ignore all messages by this user
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).
Quick Reply
Formatting Tools:   
  Switch to threaded view of this topic Create a new topic
Previous Topic: script works fine now
Next Topic: why do I get a syntax error?
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Fri Oct 20 12:11:07 EDT 2017

Total time taken to generate the page: 0.00647 seconds