formatting output: grouping results with identical fields

From: Molly Gibson <molly_gibson2002(at)yahoo(dot)com>
To: pgsql-php(at)postgresql(dot)org
Subject: formatting output: grouping results with identical fields
Date: 2003-05-09 22:06:32
Message-ID: 20030509220632.99906.qmail@web41806.mail.yahoo.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-php

Sorry if this posts twice, I am having a horrible time
with the yahoo interface.

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><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++;
}

This seems sorta kludgy and a bit limited--like I
can't just swap out a different field to sort on. Is
there a simpler way to achieve this?

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. Could somebody give me some search tips so I
can figure this out?

Thanks!
mol

__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com

Browse pgsql-php by date

  From Date Subject
Next Message scott.marlowe 2003-05-09 22:08:24 Re: formatting output: grouping results with identical fields
Previous Message Molly Gibson 2003-05-09 22:03:23 formatting output: grouping results with identical fields