Таблица, TR каждый 2 цикла, PHP, HTML - PullRequest
2 голосов
/ 08 сентября 2011

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

<tr><td>Data</td></tr>
... next loop

Но я не хочу закрывать строку таблицы (tr) каждые 2или даже 3 петли.Таким образом, данные могут выглядеть так:

<tr>
<td>Data</td>
<td>Data1</td>
<td>Data2</td>
</tr>

...next loop...

Поможете ли вы мне с этим?

Ответы [ 2 ]

7 голосов
/ 08 сентября 2011

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

Это в основном то, что осталось от числа, если вы разделите его.

Пример:

for($i = 1; $i < 11; $i++) {
    if ($i % 2 === 0) {
        print('this is printed every two times');
    }
    if ($i % 3 === 0) {
        print('this is printed every three times');
    }
}

Если вы используете foreach() вместо вас, вы просто должны сделать счетчик самостоятельно (как сказал Линк, вы также можете использовать key массива, если он содержит хорошие инкрементные ключи):

$i = 1;
foreach($array as $item) {
    if ($i % 2 === 0) {
        print('this is printed every two times');
    }
    if ($i % 3 === 0) {
        print('this is printed every three times');
    }
    $i++;
}

Или в вашем конкретном случае это будет выглядеть примерно так:

print('<tr>');
$i = 1;
foreach($array as $item) {
    if ($i % 3 === 0) {
        print("</tr>\n<tr>");
    }
    print("<td>$item</td>\n");
    $i++;
}
print('</tr>');

Выше приведен лишь базовый пример.

Вы также должны проверить, сбалансировано ли количество столбцов, и если нетдобавьте colspan или пустые столбцы, чтобы сбалансировать его.

4 голосов
/ 08 сентября 2011

Использование оператора по модулю (%) всегда является отличным решением проблемы, с которой вы столкнулись выше.Поскольку вы не предоставили подробную информацию о языке реализации, я позволил вам предоставить пример php того, как это делается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...