Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
Solved

# evenly distribute items up to 1-14 items

Posted on 2011-02-22
Medium Priority
237 Views

if \$x<=4 do one row
if \$x<=8 && \$x>=5 two rows
if \$x>=9 && \$x<=14 three rows

I need to do

<table>
<tr>
<td>

and I want the items to evenly distributed
with the number of items per row being important

x can be any value 1-14

these are examples:
if \$x==5
3 items on first row
2 items on second row

if \$x==7
4 items on first row
3 items on second row

if \$x==9
3 items on first row
3 items on second row
3 items on third row

if \$x== 14
5
5
4
is what I want

0
Question by:rgb192
[X]
###### Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

• Help others & share knowledge
• Earn cash & points

LVL 27

Accepted Solution

Lukasz Chmielewski earned 2000 total points
ID: 34953651
Try

``````<table border="1">
<?php

\$x = array('1','2','3','4','5','6');

// count the items in an array
\$num = count(\$x);
switch(\$num){
case 1: \$numrows = 1; break;
case 2: \$numrows = 1; break;
case 3: \$numrows = 1; break;
case 4: \$numrows = 1; break;
case 5: \$numrows = 2; break;
case 6: \$numrows = 2; break;
case 7: \$numrows = 2; break;
case 8: \$numrows = 2; break;
}

// TO DO
// handling of more than 9 items
if(\$num >= 9) \$numrows = 3;

{
// how much items do we have left
\$itemsleft = \$num;
\$firstitem = 0;

for(\$i=\$numrows;\$i>0;\$i--){
echo"<tr><td>";

// first row items
\$numitems = ceil(\$itemsleft/\$i);
// substract the items
\$itemsleft = \$itemsleft - \$numitems;

for(\$j=\$firstitem;\$j<\$firstitem+\$numitems;\$j++)
echo"<img src=".\$x[\$j]." />";
\$firstitem = \$firstitem + \$numitems;

echo"</td></tr>";
}

}

?>
</table>
``````
0

Author Closing Comment

ID: 34954294
works great, thanks

I have a similiar question where I want a linebreak if there is only one row

http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/Q_26839556.html
0

## Featured Post

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Things That Drive Us Nuts Have you noticed the use of the reCaptcha feature at EE and other web sites?  It wants you to read and retype something that looks like this. Insanity!  It's not EE's fault - that's just the way reCaptcha works.  But it i…
Nothing in an HTTP request can be trusted, including HTTP headers and form data.  A form token is a tool that can be used to guard against request forgeries (CSRF).  This article shows an improved approach to form tokens, making it more difficult to…
The viewer will learn how to count occurrences of each item in an array.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
###### Suggested Courses
Course of the Month7 days, 20 hours left to enroll