динамическое создание таблицы с n-мя диапазонами

#javascript #php #laravel #laravel-4 #laravel-3

#javascript #php #laravel #laravel-4 #laravel-3

Вопрос:

Итак, я пытаюсь отобразить таблицу с помощью php (в данном случае движка создания шаблонов laravel blade). Идея заключается в том, что когда у вас есть дата, время которой равно следующему item_date, оно будет иметь colspan.

Я смог заставить ее работать с диапазоном 2

 @if ($index != $timesheetweeks.length() - 1 amp;amp; $timesheetweek[$index]['start_date'] == $timesheetweek[$index   1]['start_date'])
        <td colspan="2">{{{ $timesheetweek->start_date }}}</td>
    @elseif ($index != 0 amp;amp; $timesheetweek[$index]['start_date'] == $timesheetweek[$index - 1]['start_date'])
    @else
        <td>{{{ $timesheetweek->start_date }}}</td>
    @endif
  

Но что, если у вас их 3 или более?

Комментарии:

1. Вы можете добавить все даты в $ array, затем сравнить count ($array) с count(array_unique($array)), чтобы узнать, сколько столбцов нужно охватить 😉

Ответ №1:

Я бы сказал, попробуйте поместить эту логику в свой контроллер и передать элементы в представление в формате, подобном:

 elements [
    1 => element1,
    2 => array(
        element2,
        element3
    ),
    3 => element4
]
  

Где элементы 2 и 3 совместно используют один и тот же ‘start_date’.

На ваш взгляд:

 // foreach ( ... as element )
@if ( is_array($element) )
    // found some share dates
    // td colspan=count($element)
@else
    // no share
@endif