Sorting data into columns vertically
| From: | dareal hamsta | Date: | Wed, 07 Jan 2004 18:50:11 +0000 |
| Subject: | Sorting data into columns vertically | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-173997@lists.php.net to get a copy of this message | ||
[ 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