|
|
|
|
|
|
|
|
|
|
|
#1 |
|
a.k.a. Sparky
Join Date: Sep 2004
Location: West Palm Beach, FL, USA
Posts: 2,396
|
generally I use modulo or % to do this.
basically, set your $loop = 0; if ($loop % 7) { print "</tr><td>" } $loop modulo 7 = 0 when there is no remainder, i.e., the column is divisible by 7 (or if the loop is 0) You need to do some special case handling for 0, and some end of loop processing if there aren't a multiple of 7 columns in your result set. The reason for your extra column is probably that you started loop at 1, and are dividing by 7, which gives you a first blank column -- then things should realign themselves unless there is something else I'm not seeing. From what you posted, you should get 6 columns in the first row, 7 in each successive row. Another way is to use an indexed array and use two for loops... Code:
print "<table>";
for ($loop=0;loop<$numcols;loop+=7) {
print "<tr>";
for ($loop2=$loop;$loop2<$loop+7;$loop2++) {
print "<td>asdfa</td>";
}
print "</tr>";
}
print "</table>";
__________________
SnapReplay.com a different way to share photos - iPhone & Android |
|
|
|
|
|
#2 |
|
You tried your best and you failed miserably. The lesson is 'never try'
Join Date: Oct 2004
Posts: 166
|
Your right, I may end up changing the routine to a nested loop of some kind to catch the end of the list.
Your example brings to mind something I've been wanting to ask someone for a long time. I read a post on php.net about 2 years ago I think, where some guy benchmarked, do, for, foreach and while. The slowest was for when it came to speed and do being the fastest. If I remember correctly do is 60% faster than for. Since then, I stopped using for statements unless dealing with very small arrays. I try to trim off any excess load that I can. Have you noticed any speed difference between any of these? - |
|
|
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|