Отображение диапазона элементов, отображаемых в разбиении на страницы PHP

Я сделал разбиение на страницы на своей странице с ограничением показа 12 элементов на странице. Теперь моя проблема заключается в том, как я могу отобразить диапазон элементов, отображаемых на странице. Вот мой код и то, что я пробовал до сих пор:

<div class="search_hits flex_box">
                      @if(count($result) == 0)
                        <p>No result found.</p>
                      @else
                        <p>検索結果{{$total}}件ヒット</p>
                        <p>Showing {{floor(count($result) / 12) + (count($result) % 12)}}items</p>
                        </div>
                        <ul class="projects">
                          @foreach ($result as $detail)
                            <li>
                                <a href="../contests/details/index.html">
                                <div class="prjct_title">
                                    <p>{{ $detail['contest_name'] }}</p>
                                </div>
                                <div class="calc_height_o">
                                    <div class="calc_height_i">
                                      <div class="fitimg"><img src="{{ isset($detail->photos['0']) ? $detail->photos['0']['contest_photo'] : ''}}"></div>
                                    </div>
                                </div>
                                <div class="prjct_btc">
                                    <p>Prize BTC for {{ $detail['total_prize'] }}LPY</p>
                                </div>
                                </a>
                            </li>
                          @endforeach
                        </ul><!--projects END-->
                      @endif

                    @if ($result->hasPages())
                      <ul class="pagenation">
                          {{-- Previous Page Link --}}
                          @if ($result->onFirstPage())
                              <li class="disabled"><span>«</span></li>
                          @else
                              <li><a href="{{ $result->previousPageUrl() }}" rel="prev">«</a></li>
                          @endif

                          @foreach(range(1, $result->lastPage()) as $i)
                              @if($i == 1)
                                  @if($i == $result->currentPage())
                                      <li class="active"><span>{{ $i }}</span></li>
                                  @else
                                      <li><a href="{{ $result->url($i) }}">{{ $i }}</a></li>
                                  @endif
                              @elseif($i == $result->lastPage())
                                  @if($i == $result->currentPage())
                                      <li class="active"><span>{{ $i }}</span></li>
                                  @else
                                      <li><a href="{{ $result->url($i) }}">{{ $i }}</a></li>
                                  @endif
                              @elseif($i >= $result->currentPage() - 2 && $i <= $result->currentPage() + 2)
                                  @if ($i == $result->currentPage())
                                      <li class="active"><span>{{ $i }}</span></li>
                                  @else
                                      @if($i == ($result->currentPage() - 1) || $i == ($result->currentPage() + 1) )
                                          <li><a href="{{ $result->url($i) }}">{{ $i }}</a></li>
                                      @else
                                          @if(($result->currentPage() - 2) > 1 || ( $result->currentPage() + 2 ) < $result->lastPage() )
                                              <li><span class="ellipsis">...</span></li>
                                          @endif
                                      @endif
                                  @endif
                              @endif
                          @endforeach

                          {{-- Next Page Link --}}
                          @if ($result->hasMorePages())
                              <li><a href="{{ $result->nextPageUrl() }}" rel="next">»</a></li>
                          @else
                              <li class="disabled"><span>»</span></li>
                          @endif
                      </ul>
                  @endif
                <!--pagenation END-->
                </div>

Но вот проблема, всегда отображалось Showing 2 items.

<p>Showing {{floor(count($result) / 12) + (count($result) % 12)}}items</p>

Результат, который я хочу, такой: если у меня есть 18 результатов, на первой странице будет отображаться Showing 1~12 items, на второй странице Showing 13~18 items.

Я нашел ответ здесь, но, похоже, это отображается под разбивкой на страницы, но в моей ситуации он отображается в верхней части результатов.


person Eem Jee    schedule 13.02.2019    source источник


Ответы (1)


Хорошо. Я нашел несколько хаков. Я сделал это следующим образом:

<p>
  Showing
  @if ($result->onFirstPage())
      {{1 . '~' . 12}}
  @else
      {{(($result->currentPage()-1)*12)+1 . '~' . $result->currentPage() * 12}}
  @endif
  items
</p>

Вы можете изменить его в соответствии с вашими потребностями.

person Eem Jee    schedule 13.02.2019