2012-02-06 5 views
0

私は、各ページ300行(データ)を持っているが、私は最初の10ページを必要とする10件のレコードが含まそして、その後、ここで次の10ページを表示[次へ]をクリックすると、私のコードです:PHPでページングを設定する方法は?

<?php 


$eu = ($start - 0); 
$limit = 10; 
$this1 = $eu + $limit; 
$back = $eu - $limit; 
$next = $eu + $limit; 


if ($nume > $limit) 
{ 
    echo'<div class="pagination right">'; 
    if ($back >= 0) 
    { 
     echo"<a href='$page_name?start=$back&o" . $_SESSION['clicked'] . "&p=$desc'>&laquo;</a>"; 
    } 

    $i = 0; 
    $l = 1; 
    for ($i = 0; $i < $nume; $i = $i + $limit) 
    { 
     if ($i <> $eu) 
     { 
      echo"<a href='$page_name?start=$i&o=" . $_SESSION['clicked'] . "&p=$desc'>$l</a>"; 
     } 
     else 
     { 
      echo "<a class='active'>$l</a>"; 
     } 
     $l = $l + 1; 
    } 

    if ($this1 < $nume) 
    { 
     echo "<a href='$page_name?start=$next&o=" . $_SESSION['clicked'] . "&p=$desc'>&raquo;</a>"; 
    } 

    echo '</div>'; 
} 
echo '</div></div>'; 

?> 

その後、私はこのhttp://app.ologie.us/app/admin/Screen.png

のような応答を取得します

PHPで効果的なページングを手伝ってください。

答えて

1

基本的なページ設定についてのチュートリアルです。ティムは主に、私によると、これを行うには悪い方法であり、前記のようにそれをやって

http://www.phpfreaks.com/tutorial/basic-pagination

+1

外部のWebサイトにリンクするのは大したことではありません。できるだけ具体的な回答を提供してください。 – Zar

+0

それでは、非常に詳細な解答へのリンクを与える代わりに、私はむしろ同じ答えを文字の1/8に収めようとします。あなたがそれを投票するのが好きでないなら、私がやったことに何も間違いないと思っていますが、私は彼に、彼が求めたことをやる方法を学ぶために必要なリソースを与えました。 – thenetimp

+0

私は何も間違っているとは限りませんが、少なくともあなたが私に尋ねるなら、リンク付きの短い要約が好まれるでしょう:-)。投票は必要なく、ちょうど私の考えを書きました。 – Zar

0

jQuery用のDataTablesプラグインですべてのクライアント側で行います。このプラグインは、ソートや検索のような多くのオプションも提供します。

http://datatables.net/

あなたは非常に大きなテーブルを持っている場合、これはおそらくしかし、良いアイデアではありません。

1

。それが必要なときに必要なデータを読み込みます。 あなたの配列のmin - maxインデックスでそれを行うことができます。最大インデックス - 分間のデータを通じて

$min = $page * 10; //Page is the current page 
$max = $min + 10; 

次に、あなただけのループ: は、ページごとに10件のレコードを表示したい考えてみましょう。

for($i = $min; $i < $max; $i++) { 
    //Echo your data like normal 
} 

はMySQLからデータを収集している場合は、LIMITを検索したい場合があります。

1

$limitがページサイズは、あなたが別のリクエスト変数$page追加する場合 - ユーザーによって要求された検索結果ページを表現する - あなたは

$start = ($page-1)*$limit; 
for($i=$start;$i < $start + $limit;$i=$i+1) { 
    ... 
} 

は、結果の「ページ」を反復処理するために使用することができます。

もちろん、結果ビューのレベルでページングを処理することは意味がありません。クエリから得られる結果の数を制限する必要があります。

さらに、私はあなたの要求に応じてコーディングするのではなく、PHPフレームワークの使用を検討します。アプリケーションの保守が困難になる可能性があります。

+0

こんにちは私はあなたのコードをチェックしていますが、私のために働いていませんあなたは明確に説明することができます –

+0

私は私の質問を編集する –

関連する問題