Re: If statement duplicating mysql records?

From: Date: Wed, 20 Jun 2007 13:06:36 +0000
Subject: Re: If statement duplicating mysql records?
References: 1 2  Groups: php.general 
Request: Send a blank email to php-general+get-257483@lists.php.net to get a copy of this message
On Jun 19, 2007, at 4:20 PM, Jim Lucas wrote:
Jason Pruim wrote:
Okay, so I have a question... Probably pretty easy, but why would my if statement show more records then what are in the database? if($row[5] =='Level4'){ // White Highlight
            echo "<TR><TD bgcolor=".$Level4.">$row[0] </td>";
            echo "<td bgcolor=".$Level4.">$row[1]  </td>";
            echo "<td bgcolor=".$Level4."><A href ='$row[2]'>Instructions</A></td>";
            echo "<TD bgcolor=".$Level4."><A href='update.php?taskid=$row[0]'>Click here!</A>";
        }// End of Level 4
                             else
               {// Green Highlight
            echo "<TR><TD bgcolor=".$unclassified.">$row[0] </td>";
            echo "<td bgcolor=".$unclassified.">$row[1]  </td>";
            echo "<td bgcolor=".$unclassified."><A href ='$row[2]'>Instructions</A></td>";
            echo "<TD bgcolor=".$unclassified."><A href='update.php?taskid=$row[0]'>Click here!</A>";
                   }// End of Unclassified
Why not do it this way instead. while( $row = mysql_fetch_array($results) ) { $rowColor = $unclassified; // White Highlight if($row[5] =='Level4'){ $rowColor = $Level4; } echo "<TR><TD bgcolor=".$rowColor.">$row[0] </td>"; echo "<td bgcolor=".$rowColor.">$row[1] </td>"; echo "<td bgcolor=".$rowColor."><A href='$row[2]'>Instructions</A></td>"; echo "<TD bgcolor=".$rowColor."><A href='update.php?taskid=$row[0]'>Click here!</A>"; }
And that just goes to show how much I have yet to learn! Once I typed that out I went from like, 86 lines of code down to 55... And it works as well! Just for my own knowledge, Do you know why the else was being applied after the condition was met? Thanks Jim!

« previous php.general (#257483) next »