[PHP-users 19479]Re: 検索結果を次ページに渡したい

ケムシ keigo-fu @ selene.dricas.com
2003年 12月 21日 (日) 17:37:51 JST


> はじめまして、HTMLからPHPに入門したての上野と申します。
> 今後ともよろしくお願いします。
> 
> 環境
> Windows2000、PHP4.3.4、MySQL3.23.58、Apache1.3.29
> 
> さて、自分が持っているCDをデータベース(MySQL)に入れて、
> 検索できるプログラムを作っています。 モチーフにさせて
> いただいたのは、Allabout Japanのサンプルソースです。
> http://allabout.co.jp/computer/database/closeup/CU20021126/index.htm
> 
> 検索画面と結果表示の画面を一体化したのですが、検索結果の2ページ目を
> 開くとまた全件表示に戻ってしまうことが問題です。 これはHTTPの
> ステイトレスな性質によるものと聞いています。 これを検索結果の
> ページをちゃんと最後までめくっていけるようにつくるのが目標です。
> 
検索条件を一緒に送らないとだめですね。

$encodedstr_key = urlencode($str_key);url encode
$encodedstr_key2 = urlencode($str_key2);url encode
if ($page > 1) {
$i = $page - 1;
//HTML文を出力 $pageに指定された頁数をセットしてGETで渡すリンクを作成
print("<a href='$PHP_SELF?page=".$i ."&str_key=".$encodedstr_key."&str_key2=".$encodedstr_key2."'>前頁</a>");
}
//現在表示している頁が1ページではなく最終頁ではない場合は前頁と次頁を
//区切る「・」を出力
if ($page <> 1 and $page <> $maxpage) {
print("・");
}
//現在表示している頁が最終頁より前の頁の場合は前の頁のリンクを作成
if ($page < $maxpage) {
$i = $page + 1;
//HTML文を出力 .$pageに指定された頁数をセットしてGETで渡すリンクを作成
print("<a href='$PHP_SELF?page=".$i."&str_key=".$encodedstr_key."&str_key2=".$encodedstr_key2."'>次頁</a>");
}
///HTML文を出力 改行
print("<br>");
//出力可能な頁数分繰り返す
for ($i=1;$i<=$maxpage;$i++) {
//現在の頁の時は [ ]で囲む
if ($i==$page){
print("[".$i."]");
} else {
//HTML文を出力 .$pageに指定された頁数をGETで渡すリンクを作成
print("<a href='$PHP_SELF?page=".$i."&str_key=".$encodedstr_key."&str_key2=".$encodedstr_key2."'>$i</a>");
}
//最終頁以外では頁間を区切る「・」を出力
if ($i <> $maxpage) {
print("・");
}

これだとGET メソッドになりますけどね。



PHP-users メーリングリストの案内