## WEB-MANAGERS-L@LISTS.UFL.EDU

#### View:

 Message: [ First | Previous | Next | Last ] By Topic: [ First | Previous | Next | Last ] By Author: [ First | Previous | Next | Last ] Font: Proportional Font

Subject:

How to output a table, column-sorted. (was Re: Quiet? )

From:

Date:

Mon, 23 Dec 2002 11:40:03 -0500

Content-Type:

text/plain

Parts/Attachments:

 text/plain (59 lines)
 ```=> On Mon, 23 Dec 2002 08:45:01 -0500, Joseph A carusone Jr <[log in to unmask]> said: > Well, we can have the wine you buy while we are discussing the wording > of the mission statement... An official whine committe? Dang, I want to be on that. I just had to do the "I've got a long list, I want it in columns" thing. Here's some example code. It's derived from PERL, but I've added comments that will make it read more clearly yet not compile. :) This code is predicated on the idea that you've got a list of things, and that you have essentially random-access to that list. A cursor would work, an array is simplest (but eats memory for large ones). What you do is essentially iterate through the positions in your columnwise table, _in the order you'd like the output to appear in your HTML_. for each page     for each row         for each column             calculate which cell I want here             output it. In order for this algorithm to work, you have to set the page length _short_ enough that you force data to a second column. For an infinite page length, everything goes in column 1. Additionally: Everyone remember your order of operations. I cussed at myself for some time when I remembered that N - 1 * m equals N - (1*m), instead of (N-1) *m. Grump. my \$count = ( count the number of items ) my \$cols = 2; # my \$rows = 55; # In a page. my \$npp = \$rows * \$cols; # NPP = Number Per Page. my \$np = \$count / \$npp; # Ergo, how many pages. \$np = int(\$np + .999); # Round up. for (\$p = 1; \$p <= \$np ; \$p++) {     for ( \$r = 1; \$r <= \$rows ; \$r++)     {         for ( \$c = 1 ; \$c <= \$cols ; \$c++ )         {             \$n = ( (\$p-1) * \$npp ) + ( (\$r-1) * \$cols ) + ( \$c-1 ) ;             Output item \$n from your structure.         }         Close a line (newline?
?)     }     Close a page (^L? ?) } - Allen S. Rout```