0

私はコーディングを学ぶために新しいウェブサイトを作成しており、検索アプリケーションのページごとの結果を作成しています。基本的に、次のような選択/ドロップダウンがあります。

 <form name='form1' method='post'>
       <font style="font-size:12px;">Results per Page:</font>
       <select name='select' onChange='document.form1.submit()'>
              <option value='10'<?php if($pagesnum == 10) {echo "selected='selected'";} ?>>10</option>
              <option value='15'<?php if($pagesnum == 15) {echo "selected='selected'";} ?>>15</option>
          <option value='20'<?php if($pagesnum == 20) {echo "selected='selected'";} ?>>20</option>
          <option value='25'<?php if($pagesnum == 25) {echo "selected='selected'";} ?>>25</option>
      </select>
</form>

これは、ページごとにユーザーが希望する数の結果を取得しているだけであり、選択/ドロップダウンを変更すると、ページが更新されます。次に、ページ データごとのユーザー結果を $pagesnum という変数に保存します。または、ページごとの結果が設定されていない場合は、次のように $pagesnum を 10 に設定します (ページの最上部に移動します)。

if ($_REQUEST['select'] != null){ $pagesnum = $_REQUEST['select'];}else{$pagesnum = 10;}

次に、ページネーションで(必要に応じてここに投稿できます)、ページごとの合計結果または $totalpages を次のように $pagesnum に等しくします。

$total_pages = $pagesnum;

私の問題は、search.php?q=A+Link+That+is+a+different+page のようなページにリンクする関連検索語を提案する Refine Search があり、$pagesnum の値が失われていることです。ユーザーが $pagesnum として設定したものを取得し、それを複数のページにまたがって設定するにはどうすればよいですか?

4

2 に答える 2

1

複数選択ドロップダウンがある場合は、セッションに配列を保存することを考えることができます

それ以外の場合は、セッション変数だけで十分です

http://www.phpriot.com/articles/intro-php-sessions/7

于 2012-07-25T18:57:28.977 に答える
1

PHP Sessionsをご覧ください。これは、あなたの場合にどのように適用するかの例です。

session_start();
if(!empty($_REQUEST['select'])){
  $pagesnum = $_REQUEST['select'];
  $_SESSION['pagesnum'] = $pagesnum;
}else{
  $pagesnum = $_SESSION['pagesnum'];
}

これの代わりに上記のコードを使用できます

if ($_REQUEST['select'] != null){ $pagesnum = $_REQUEST['select'];}else{$pagesnum = 10;}
于 2012-07-25T18:46:12.140 に答える