TalkPHP

TalkPHP (http://www.talkphp.com/forums.php)
-   General (http://www.talkphp.com/general/)
-   -   Using a simple counter (http://www.talkphp.com/general/2-using-simple-counter.html)

harryhood 03-22-2005 03:20 AM

Using a simple counter
 
I have a small project where records are queried from a database using php and the results are then displayed to the user. To display the results I am using a simple

PHP Code:

do {
echo 
'<tr><td style=background-color: somecolor>some text</td></tr>';

} while {......} 

routine.

What I would like to do is alternate the color of the background text in each row shown by the do - while loop. I know I can assign "somecolor" to a variable and alternate the value of somecolor based on a counter being odd or even. I just do not know how to declare or increment the counter.

I am wondering what the simplest way to accomplish this would be. Sorry if I did not explain this very well. I've been staring at a screen all day and think I am going blind. :)

Any help would be appreciated.

AlEast 03-22-2005 03:40 AM

PHP Code:


//Initialize Vars
$altCounter=1;

do {
 
  
//if odd then white if even then black
  
$somecolor = (1&$altCounter) ? "white":"black"
  echo 
'<tr><td style=background-color: $somecolor>some text</td></tr>';
  
$altCounter++;

} while {......} 

This should work out for you and I'm sure others can suggest other methods as well. Basically just store

NotteScura 03-22-2005 02:48 PM

The code I use normally for something like that is...

PHP Code:

// Initialize Vars
$rowEven 0;

do {
  
// If odd, use white, if even use black
  
if(!$rowEven) {
    
$rowEven 1;
    
$bgColor "white";
  }
  else {
    
$rowEven 0;
    
$bgColor "black";
  }

  echo 
"<tr><td style=background-color: $bgColor>Text</td></tr>";
} while (...); 

Obviously my version is a longer way of doing it compared to AlEast's, so you may stick with his version, I just find it easier to read when done in this fashion. :)

NS

Dr John 04-08-2005 05:05 PM

You don't need a counter. Try this (in simple pseudocode)

your do

if somecolor==black
somecolor = white;
else somecolor = black;

your phpcode

while

CreativeLogic 04-08-2005 06:27 PM

Yea, the counter really isn't needed unless for some other purpose not mentioned in the first post.

ShadowWind 04-13-2005 12:22 PM

Actually there is a cool trick in C that should work in PHP...

To toggle between on and off in any situation, you can just do this (if you don't have a counter running)...

$j=1-$j;

if $j equals 1 then it equals 0
if $j equals 0 then it equals 1

Then just check $j to do whatever you want 0 or 1 to represent.

Dr John 04-13-2005 01:38 PM

ShadowWind, if you look three posts above yours you'll see basically the same thing, but without the extra step of finding the value of $j (which should start with $j=1 somewhere outside the if construction to seed the initial value). And several of the other posts use variants of the toggle technique, eg NotteScura's method.


All times are GMT. The time now is 06:58 PM.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.1.0