使用php创建自动生成的表

时间:2014-10-16 11:52:17

标签: php laravel laravel-4 logic blade

我正在尝试创建一个自动生成的表,这是我正在尝试的项目的一部分。我正在努力为14名员工创建一个职责名册。转变如下:

轮换1:4工作人员 班次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 任何帮助非常感谢。 :)

1 个答案:

答案 0 :(得分:1)

您应该在PHP中设置并设置为仅刀片数据,因为在刀片中很难分配变量而不进行修改或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