2016-10-13 17 views
1

私はlaravelを使っています。ページ分割配列laravel redirecting

私の配列から3つの項目をページ設定したいとき、正しく出力されます。私は次のページで私の別の4つのアイテムを見たい、私は同じページにリダイレクトし、私の配列から最初の3つのアイテムを見るが、別の4つではない。

私のページの仕組み:最初は別のビューでアイテムを検索し、結果コントローラにGETリクエストを行い、結果コントローラはデータベース内のファイルをチェックして配列に格納します。結果コントローラは結果ページを返します。私のページ区切りコード。

これは私のリターン・ビューのコードです:

return view('Documentatie.result')->with('zoekdocument', $zoekdocument)->with('searchdoc', $searchdoc)->with('fileopslag', $fileopslag); //geeft waardes mee. 

変数ファイル$ fileopslagはアイテムと私の配列です。

これは私のページネーションコードです:

$page = ! empty($_GET['page']) ? (int) $_GET['page'] : 1; 
$total = count($fileopslag); //total items in array  
$limit = 3; //per page  
$totalPages = ceil($total/ $limit); //calculate total pages 
$page = max($page, 1); //get 1 page when $_GET['page'] <= 0 
$page = min($page, $totalPages); //get last page when $_GET['page'] > $totalPages 
$offset = ($page - 1) * $limit; 
if($offset < 0) $offset = 0; 

$show = array_slice($fileopslag, $offset, $limit); 

その後、私は私の結果を示しています。

foreach($show as $shows){ 

<a href="/opendocument/{{basename($shows)}}" class="list-group-item"></a> 

} 

私が正しく3つの結果を参照してください。しかし、私は他のページに私の配列からすべてのファイルを参照してくださいしたいが、私の別の4つはありません。

これは私のリダイレクトコードです:

<?php 


$link = '/result/page=%d'; 
$pagerContainer = '<div style="width: 300px;">'; 
if($totalPages != 0) 
{ 
    if($page == 1) 
    { 
    $pagerContainer .= ''; 
    } 
    else 
    { 
    $pagerContainer .= sprintf('<a href="' . $link . '" style="color: #c00"> &#171; prev page</a>', $page - 1); 
    } 
    $pagerContainer .= ' <span> page <strong>' . $page . '</strong> from ' . $totalPages . '</span>'; 
    if($page == $totalPages) 
    { 
    $pagerContainer .= ''; 
    } 
    else 
    { 
    $pagerContainer .= sprintf('<a href="' . $link . '" style="color: #c00"> next page &#187; </a>', $page + 1); 
    }   
}     
$pagerContainer .= '</div>'; 

echo $pagerContainer; 


?> 

答えて

1

ページネーションの標準機能に適合していませんか?

ページの区切りアン雄弁モデル

$someUsers = User::where('votes', '>', 100)->paginate(15); 
ビューで

<?php echo $users->render(); ?> 

Doc

それが配列であるので、うまくいけば、これは、私がレンダリングできない問題

+0

を解決します – jurh

+0

私はデータベースで何もしません、 – jurh

+0

@JurHillebrinkもしあなたがコレクションを望むなら、 '$ users = User :: where( 'votes'、 '>'、100) - > paginate(15) - > items()' – Sherif