通过比较数据库编号值来递增/递减

时间:2019-03-01 20:14:40

标签: php mysql laravel

我有一个赞助商页面,我需要显示sponsors_neededsponsors_received的图标。

示例:

  • Sponsors_Needed =○(轮廓点)
  • Sponsors_Received =•(填充点)

这是我目前所拥有的,但是发生了一些我似乎无法纠正的问题。

@php
$needed ='<span class="circ-outline"></span>';
$received ='<span class="circ"></span>';
@endphp

@foreach(range(0,$sponsorKid->sponsors_needed--) as $i)
    @if($sponsorKid->sponsors_needed = $sponsorKid->sponsors_needed--)
        @if($sponsorKid->sponsors_needed < $sponsorKid->sponsors_received++)
        {!! $received !!}
        @else
        {!! $needed !!}
        @endif
    @endif

    @php $sponsorKid->sponsors_received--; $sponsorKid->sponsors_needed--; @endphp
@endforeach

问题1:

在我的桌子上,我有(5/2)

  • 需要= 5
  • 已接收= 2

输出正确,但是顺序不正确。

  • 我得到的是:○ ○ ○ • •
  • 但是需要这个:• • ○ ○ ○

如果我反转值:

        @if($sponsorKid->sponsors_needed < $sponsorKid->sponsors_received++)
        {!! $needed!!}
        @else
        {!! $received !!}
        @endif

这为我提供了我正在寻找的• • ○ ○ ○的输出,但是如果收到0(5/0),我将得到• • • • •的所有信息。需要全部打开○ ○ ○ ○ ○

问题2:

我也想说,“ 此人有3个空位可以填补

因此,我确实需要-的Sponsors_received ...应该得到2 {{ $sponsorKid->sponsors_needed - $sponsorKid->sponsors_received }} 我得到-4 ...? (不知道为什么)

经过反复尝试,我几乎达到了这一点。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

哦,男孩...我的头很痛...哈哈

那样的事情怎么样?我想念什么吗?...

我更新了解决方案,以包括您的第二个问题...我想将输入数据视为不可变的(我不会更改它,因为稍后我会在页面中需要它,就像您计算剩余插槽数一样) )。因此,在这种情况下,我对页面范围变量进行了快速分配... $ numReceived,这是我将要递减的副本,而不是原始副本)和$ numNeeded ...为方便起见,如果需要其他地方...但是您可以内联计算...

希望这会有所帮助

@php
$needed ='<span class="circ-outline"></span>';
$received ='<span class="circ"></span>';
$numReceived = $sponsorKid->sponsors_received;
$numNeeded = $sponsorKid->sponsors_needed - $numReceived;
@endphp

@for($i = 0 ; i < $sponsorKid->sponsors_needed ; i++)
    @if($numReceived-- > 0) 
        {!! $received !!}
    @else
        {!! $needed !!}
    @endif
@endfor
<span>This person needs {{ $numNeeded }}</span>