[ Please copy me off list. ]

Say I have 7 items of data and I wish to sort them into 3 columns in a HTML table. The items are unevenly sized, so rather than print them out in rows - resulting in lots of wasteful whitespace - I would like to output them in vertical order. However if I use the modulus operator to check for when to break into a new column...

foreach ($items as $item) {
        $counter++;
        if ( ($counter % $columns) == 0) {
                print "</td><td>";
        }
}

...the output will be something like this...

 +-------+-------+-------+
 | Item1 | Item4 | Item7 |
 | Item2 | Item5 |       |
 | Item3 | Item6 |       |
 +-----------------------+

...when what I'm really looking for is this...

 +-------+-------+-------+
 | Item1 | Item4 | Item6 |
 | Item2 | Item5 | Item7 |
 | Item3 |       |       |
 +-----------------------+

Obviously if the number of items and columns are static, I have no problem, but how do I get a layout that appeals to people and not computers if they're dynamic? This has me befuddled, I'm wondering is there an algorithm for doing it or is it effectively a Turing Test.

Thanks,
adam


<?php $s=array(74,65,112,104,112,72,32,59,45,41); for($i=0;$i<count($s);$i++){echo'&#'.$s[$i].';';} ?>

_________________________________________________________________
MSN 8 with e-mail virus protection service: 2 months FREE* http://join.msn.com/?page=features/virus


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Reply via email to