2017-03-17 4 views
1

私は一日中検索しましたが、解決策が見つかりませんでした。私は非常に単純な 'prev' 'next'ページネーションを構築したいと思います。$ counter変数に値を保持して、 'next'のリンクをクリックすると、システムはMySQLから次の10行をロードしますデータベースと変数は増分されます。リンクをクリックした後に変数の値を保持する方法

$ counter + = 10;

最初に$ counter変数を宣言して0に設定する必要がありましたが、「次へ」リンクをクリックすると、ページがリフレッシュされ、カウンター変数が0にリセットされます。しかし、私はこの変数に初期値を代入することなく続けることはできません。それは私にキャッチ22のように見えます。

私はSESSIONでこれを解決しようとしましたが、同じ問題がありました。私はこれを解読しようとしている12時間を費やし、ネット上の多くのページ区切りサンプルを分析して、可能ならばplsが私を助けます。ありがとう。それが愚かなqなら、申し訳ありません。

+0

セッション、取得またはクッキー、セッションまたはクッキーはおそらく最も簡単ですが、ページネーションのgetでも十分ですが、その後は常にURLを更新する必要があります。 – Xorifelse

+0

セキュリティのためにセッションをお勧めします。確かに、私はそれがセッションになると多くの欠陥があることを知っています。 – McStuffins

答えて

0

$counterなどの変数の値を保存するために使用した基本的な手法は、変数として渡してフォームをリロードすることです。

フォームを最初に開いたときは、$counterには値がありません。

フォームが最初に開いた最初のコードは次のとおりです。

if (!isset($_REQUEST['page'])) 
     {$counter = 1; 
       } else { 
     $counter = $_REQUEST['page'];} 

あなたは、あなたが好きな値に$counterを設定することができます。フォームをリロードして、$counterに設定した値を渡します。フォームをリロードするには、以下の例を自分の状況に合わせて変更する必要があります。 nextpreviousページに移動

echo "<tr><td> <a href='index.php?content=edit_company_form&page=$counter'>$company</td></tr>" 

がリロードフォームに渡される別の変数を追加し、同じように扱われます。

+0

ちょっと@スティーブ感謝、それは働いた!キーは変数$ counterをフォームに挿入することでした。 ?page = trueまたは?page = 1のようなもっと静的なものを挿入して、ユーザーがリンクをクリックしたかどうかをコントロールとしてのみ提供しますが、$ counterを挿入すると実際にインクリメントして次のパスで新しい値を保持します。今私はよく眠ります、ありがとう:) – Dan

+0

あなたの歓迎。喜んで助けてくれた。 –