2010-03-28 6 views
0

У меня проблема с сортировкой элементов в таблице на PHP. Вот что я хочу добиться:Группировка элементов в php

Item Item Item 
Item Item Item 
Item Item Item 
Item Item Item 
Item Item Item 

Как я имею в виду для достижения этой цели, а так как у меня есть для каждого цикла можно вставить счетчик, и сказать после того, как пятый элемент в списке записи в другую колонку, дело в том, Я не очень хорошо с таблицами, я пытался что-то вроде:

for(...) 
$counter++; 
if(($counter%5) == 0){ 
echo ""; 
} 

не происходит .. Я надеюсь, вы поняли, что я имел в виду .. Тпх

+0

Таким образом, вы не имеете в виду * сортировку *, но, позвольте называть его, * группировка *. –

+0

@Felix Вы правы, сортировка - это что-то еще – ant

ответ

3

Я предполагаю, что вы хотите:

Item1 Item6 Item11 
Item2 Item7 Item12 
Item3 Item8 Item13 
Item4 Item9 Item14 
Item5 Item10 Item15 

Если вы делаете это в таблице, вы будете пересекать его вниз, поэтому вам нужно будет нарисовать каждый пятый элемент перед тем, как спрыгнуть вниз.

$numItems = count($items); 
$numRows = 5; 
$numColumns = ceil($numItems/$numRows); 

echo "<table>"; 
for ($r = 0; $r < $numRows; ++$r) { 
    echo "<tr>"; 
    for ($c = 0; $c < $numColumns; ++$c) { 
     $itemIndex = $c * $numRows + $r; // 0, 5, 10, 1, 6, 11, 2, 7, 12... 
     echo "<td>"; 
     if (isset($items[$itemIndex])) { 
      echo $items[$itemIndex]; 
     } else { 
      echo "&nbsp;"; 
     } 
     echo "</td>"; 
    } 
    echo "</tr>"; 
} 
echo "</table>"; 
Смежные вопросы