2014-10-16 1 views
-1

Я пытаюсь создать автоматически сгенерированную таблицу, которая является частью проекта, который я пытаюсь сделать. Я пытаюсь создать дежурный список для группы из 14 сотрудников. Сдвиги являются следующими:Создание автоматически сгенерированной таблицы с php

Сдвига 1: 4 сотрудников Shift 2: 4 сотрудников сдвига 3: 4 сотрудников внеслужебные: 2 сотрудников

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

Вот код на данный момент, но он работает не так.

<table> 
<tr> 
    <th>Shift 1</th> 
    <th>Shift 2</th> 
    <th>Shift 3</th> 
    <th>Off</th> 
</tr> 

@for ($i = 1; $i <= 30 ; $i++) 
<tr> 
    @for ($j = 1; $j <= 4 ; $j++) 
     <th> 
      @if ($j==1) 
       @for ($h = 1; $h <= 4 ; $h++) 
        {{ $h }}, 
       @endfor 
      @endif 

      @if ($j==2) 
       @for ($h = 5; $h <= 8 ; $h++) 
        {{ $h }}, 
       @endfor 
      @endif 

      @if ($j==3) 
       @for ($h = 9; $h <= 12 ; $h++) 
        {{ $h }}, 
       @endfor 
      @endif 

      @if ($j==4) 
       @for ($h = 13; $h <= 14 ; $h++) 
        {{ $h }}, 
       @endfor 
      @endif 

     </th> 
    @endfor 

</tr> 

@endfor

Приведенный выше код дает мне таблицу, как показано ниже: enter image description here

Конечной целью является производить то, как показано ниже: enter image description here Любая помощь очень ценится , :)

+2

Что не работает правильно? –

+0

Не могли бы вы показать нам результат вашего текущего кода? – Jerodev

+0

Извините, ребята, я забыл загрузить экраны. Теперь я редактировал сообщение, чтобы включить экраны. Благодарю. :) –

ответ

1

Вы должны сделать это на PHP и установить для данных Blade только данные, потому что в лезвии трудно назначить переменные без изменений или hack.

Это то, что я сделал:

<table> 
<tr> 
    <th>Shift 1</th> 
    <th>Shift 2</th> 
    <th>Shift 3</th> 
    <th>Off</th> 
</tr> 

{{-- */$last=1;/* --}} 
@for ($i = 1; $i <= 30 ; $i++) 
<tr> 


    @for ($j = 0; $j < 14 ; ++$j) 
     @if ($j %4 == 0) 
     <th> 
     @endif 

     @if ($j + $last > 14) 
      {{-- */$last= -$j + 1 ;/* --}} 
     @endif 
     {{ $j + $last }} 
     @if ($j %4 == 3) 
     </th> 
     @endif 

    @endfor 

    </th> 
{{-- */ 
    $last=$j + $last -2; 
    if ($last > 14) { 
     $last = 1; 
    } 
/* --}} 


</tr> 
@endfor 

Выход, как в экране ниже

Output for shifts