Hi list, Textile geek-grrl here--I recently created a postgres database to keep my fabric, pattern, & project inventory. (Do I win a prize for 'weirdest thing for which someone has used postgres'?) I am at the point where I would like to refine the user interface, even though I'm the only one who will ever use it. Currently I have this query: SELECT pattern_category, pattern_manufacturer, pattern_number, pattern_desc FROM patterns ORDER BY pattern_category, pattern_manufacturer, pattern_number; which I have output into a plain ol' table like so (code snippet only, I know it doesn't produce valid html) while ($i < $num) { $row = pg_fetch_object($pattern_info,$i); print ("<TD>$row->pattern_category</TD> <TD>$row->pattern_manufacturer</TD> <TD>$row->pattern_number</TD> <TD>$row->pattern_desc</TD> </TR>\n"); $i++; } This is great for my purposes, but I'd like to clean up the table a bit more and have the category only print once each time it occurs, and the manufacturer only print once in each category. Here is what I came up with: while ($i < $num) { $row = pg_fetch_object($pattern_info,$i); if ($row->pattern_category != $newcategory) { //we have a new category heading $newcategory = $row->pattern_category; print ("<TR><TD>$newcategory</TD></TR>\n"); } if ($row->pattern_manufacturer != $newmanufacturer) { //we have a new manufacturer sub-heading $newmanufacturer = $row->pattern_manufacturer; print ("<TR class=\"manufacturer\"><TD>$newmanufacturer</TD></TR>\n"); } //print the rest of the stuff print ("<TD>$row->pattern_number</TD><TD>$row->pattern_desc</TD></TR>\n"); $i++; } I've been poking around php.net and I didn't find anything--but I can't be the only one who wants to do this. __________________________________ Do you Yahoo!? The New Yahoo! Search - Faster. Easier. Bingo. http://search.yahoo.com