Re: Alternating Table Rows, Part Deux..

From: Date: Fri, 10 May 2002 21:58:48 +0000
Subject: Re: Alternating Table Rows, Part Deux..
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-97021@lists.php.net to get a copy of this message
Glenn Sieb wrote:
Hey everyone! Thanks for all the hints--here's what my boss and I eventually came out with:
/*      ######################
        ## And for every row of data we pull, we create a table row...
        ###################### */
        $company = 0;
        $previous = "";
        for ($i = 0; $i < mssql_num_rows( $stmt ); ++$i)
                             {
                                     $line = mssql_fetch_row($stmt);
                                     $company += (strcmp($previous,$line[0]) ? 1 : 0);
                                     $color = (($company%2) ? "FFFFFF" : "FFFF00");
                                     $cname = (strcmp($previous,$line[0]) ? $line[0] : "&nbsp;");
                                     print ("<TR BGCOLOR=#$color>\n\t<TD>$line[2]</TD>\n\t<TD>$cname</TD>\n\t<TD>$line[3]</TD>\n</TR>\n"); 
                                     $previous = $line[0];
                             }
        print ("</TABLE>");
This not only takes care of the table row colors, but also removes duplicate company names so it looks MUCH neater this way :)))) Thanks again! Glenn (who's still trying to get it all down lol.. between trying to learn SQL, MySQL,PHP, PostgreSQL, and VBScript lately, I'm surprised I haven't had my head explode yet!) --- Glenn E. Sieb, System Administrator Lumeta Corp. mailto:ges@lumeta.com +1 732 357-3514 (V) +1 732 564-0731 (Fax)
Is there not a GROUP BY clause in MS SQL? I'm pretty sure there is. If you group the query by company name then you don't have to worry about duplicate company names... and it will help with performance, since the db is optimized for that and you don't have to waste PHP to determine if the row is a duplicate.

« previous php.general (#97021) next »