私は、検索結果が得られるいくつかの要素を持つプロパティ検索に関する検索フォームを持っています。場所、場所、都市、寝室などの番号 フォームが提出されたら、私は$ _postを使ってすべてのフォーム要素の値を取得できます。問題は、私がページングを実装するとき、次のページの要素の値をどのように取得するのでしょうか?私は何らかのグローバル変数/配列やセッションを使うべきですか? お勧めですか?php mysql検索クエリ
0
A
答えて
1
あるselect _fields_ from table where _where_ LIMIT _limit_
としてselect count(1) from _table_ WHERE _where_
と第二として、第一1 。
たとえば、検索を実行している検索という名前の入力フィールドが1つあります。 ですので、各ページ設定リンクに$ _POST ['search']を渡す必要があります。 2ページ上の今
<a href='search.php?page=2&search="'. $_POST['search'].'"'>Page 2</a>
、あなたは[ '検索'] $ _GETを取得し、クエリで
を使用することができます================== ===========================
セッションを使用する
投稿後に$ _Post値を取得し、セッションを開始してセッション変数に保存すると、セッションも使用されます。その場合、あなたは
session_start();
$_SESSION['search'] = $_POST['search'];
は、今あなたが直接あなたのクエリで値を[「検索」] $ _SESSIONを使用することができるページネーションリンクにその値を渡すために持っていけません。
しかし、新しい検索のたびにこのセッション変数を空にします。したがって、検索フィールドに検索値がない場合、古い値でデータベース内を検索しません。
0
あなたのmysql-queryにはLIMITを使うことをお勧めします。
もちろんSELECT * FROM searchtable LIKE %%WHATEVER%% LIMIT 11,20
が何をやろうとしている。
SELECT * FROM searchtable LIKE %%WHATEVER%% LIMIT 0,10
これは、あなたがセージページ2 10. に結果を制限します:最初のページのような、あなたは10件の結果をしたい場合PHPからの制限として変数を設定します。 これが役立つことを願っています!
0
使用2つの検索クエリ、_limit_
はあなたが持っている次のページに$ _POSTの値は、ページネーションリンクにその$ _POSTの値を渡すために取得するには$pagenum*$itemsPerPage, ($pagenum+1)*$itemsPerPage
関連する問題
これは、データの保存方法によって異なります。それは配列に詰め込まれていますか?データベースでは? – cdhowie