Hiya people
After a lot of soul searching, exploring the web and help from many people I came up with this simple solution:
Thank you Chris for explaining the toggle $colorset. In the end I decided this made life alot simplier.
(clearly the brackets have to be correctly aligned)
while( $row = mysql_fetch_array($db_result) ) { echo(" <tr $c> <td>" . $row['bugid'] . "</td> </tr> "); if ( !isset($c) ) { $c = "bgcolor=#9999FF"; echo $c; } else { unset($c); } }
From: Chris Hayes <[EMAIL PROTECTED]> To: [EMAIL PROTECTED] Subject: Re: [PHP] RE: newbie alternate row colours in dynamic table Date: Sat, 05 Apr 2003 22:32:17 +0200
At 22:14 5-4-2003, you wrote:
Hiya I have a dynamic table and am trying to get the rows to be two different alternate colours. well Ive looked at a couple of snippets of this colour code and previous mails regarding this. Im having major troubles intergrating any of these suggestions with my code. Can anyone suggest where I am going wrong. Main problems areWithin the loop that prints the rows, whcih is usually a while loop. But that depends on your preferences.
1. where to put the loop for changing the colour (complicated due to the loop retrieving data from db)i.e in the do loop....in the while loop?
I see that you are using a helping variable $colorset.2. Also how to echo my rows in the colours.(something like this I think) print "<tr bgcolor='$trcolor'>"$db_fetch['bugid']; ?></td>;
e.g here is the code snippet for alternate coloured rows $trcolor="#F0F8FF"; while ($myrow = mysql_fetch_array($result)){ $colorset=0; if ($trcolor=='#F0F8FF'){ $trcolor='#B0C4DE'; $colorset=1; } if ($colorset==0){ if ($trcolor=='#B0C4DE'){ $trcolor='#F0F8FF';} } print "<tr bgcolor='$trcolor'>"; }
I have a problem reading your code in email, as i do not see hte indents well, so i restructure it here with _ underscores to make the indents survive the email program.
$trcolor="#F0F8FF"; //1
while ($myrow = mysql_fetch_array($result)) { ___$colorset=0; ___if ($trcolor=='#F0F8FF') //1 ___{$trcolor='#B0C4DE'; //2 ____$colorset=1; ___}
___if ($colorset==0) ___{ if ($trcolor=='#B0C4DE') //2 ______{$trcolor='#F0F8FF'; //1 ______} ___}
print "<tr bgcolor='$trcolor'>"; }
Lets walk through.
In the 1st walk,
1a) you enter with color#1 and colorset=0.
2b) the first 'if' then sets it to color#2 and colorset=1
3c) The second if sees that both conditions are true and set the color back to color#1.
So the first row prints color1.
Ok. The code remembers the values, which are color#1 and colorset1. In the next walkthrough, 2a) the colorset is set to 0 to start with. At this moment you have the exact situation as with 1a).
do you see that? it would be much easier to see what is happening if you would have only colorset toggling its value and just before printing, decide what the color is as a result of the value of colorset.
Give it a try!
Basically:
$colorset=0;
while (....) { toggle collorset (toggle: if 1 then 0 and opposite) if colorser=0 color=ffffff else color=aaaaa print color. }
Chris Hayes
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
_________________________________________________________________
Surf together with new Shared Browsing http://join.msn.com/?page=features/browse&pgmarket=en-gb&XAPID=74&DI=1059
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php