In een databasetabel staat een onbekend aantal rijen, en deze moet worden verdeeld in 3 kolommen. Dus als ik er 30 heb, moet in elke kolom 10 items komen. Het probleem is alleen dat als een getal niet door 3 gedeeld kan worden (10,33 of 10,66 bijv.) het toch goed afgerond moet worden en in de 2e kolom dus 1 meer moet komen dan in de 3e kolom. Of (bij 10,33) de eerste rij 1 meer dan de 2e of 3e kolom.
Ik had zelf bedacht:
En dan voor elke kolom in de Query:
Iemand een idee?
Maar dit lijkt niet helemaal netjes te werken, want bij 2 items geeft-ie er toch maar één.
Ik had zelf bedacht:
code:
1
2
3
4
5
6
7
8
9
10
11
| $int = mysql_num_rows($query); $int /= 3 ; if (ceil($int) < (floor($int) + .5)){ $first = ceil($int); $second = floor($int); $third = floor($int); } else { $first = ceil($int); $second = ceil($int); $third= floor($int); } |
En dan voor elke kolom in de Query:
code:
1
2
3
| LIMIT 0, $first LIMIT $first, $second LIMIT $second + $first, $third |
Iemand een idee?
Maar dit lijkt niet helemaal netjes te werken, want bij 2 items geeft-ie er toch maar één.