2017-02-16 3 views
1

У меня есть таблица, которая выглядит следующим образом:HTML - форматирование вертикальной таблицы

HEADER1: data1 
HEADER2: data2 
HEADER3: data3 
HEADER4: data4 
HEADER5: data5 
HEADER6: data6 
HEADER7: data7 
HEADER8: data8 

и так далее. Я хочу, чтобы установить определенный «порог», скажем, 4, после чего данные будут переключаться на глядя, как это (так что пользователю не нужно прокручивать вниз слишком много):

HEADER1: data1  HEADER5: data5 
HEADER2: data2  HEADER6: data6 
HEADER3: data3  HEADER7: data7 
HEADER4: data4  HEADER8: data8 

Как мне делать такая вещь простейшим способом?

Вот текущий код PHP используется для создания этой таблицы:

foreach($row as $key=>$value) { 
    echo '<tr>'; 
    echo '<th>', $headerindeces[$i], "</th>"; 
    echo '<td>',$value,'</td>'; 
    echo '</tr>'; 
    $i++; 
} 

ответ

1

очень простой подход был бы построить еще одну таблицу каждый раз при достижении порога (при условии, что это нормально для вас Кодирую порог). Вы можете добиться того, что с modulus division:

$threshold = 4; 
$i = 0; 
foreach ($row as $key => $value) { 
    if (($i+1) % $threshold == 0) { 
     echo '</table><table>'; 
    } 
    echo '<tr>'; 
    echo '<th>', $headerindeces[$i], "</th>"; 
    echo '<td>', $value, '</td>'; 
    echo '</tr>'; 
    $i++; 
} 

И после этого, просто использовать CSS для отображения двух таблиц рядом друг с другом.

+0

Опечатка: echo ''; две таблицы закрытия тега – JYoThI

+0

Спасибо, это работает. Еще одна коррекция: следует изменить условие if на (($ i + 1)% $ threshold == 0 || $ i == 0), иначе первая таблица не будет создана до достижения порога. Альтернативно, просто ($ i% $ threshold == 0). – Bluejay

+1

Ok Я предположил, что начальная таблица уже была выведена в коде раньше. В этом случае '|| $ i == 0' приведет к пустым '

' ... – andreas

Смежные вопросы