![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
病院を検索するページを作っています。
結果が複数ページになる時に、2ページ目からうまくいきません。
$hospcat = mb_convert_encoding($hospcat,"EUC-JP","SJIS");
$hospname = mb_convert_encoding($hospname,"EUC-JP","SJIS");
$hospadd = mb_convert_encoding($hospadd,"EUC-JP","SJIS");
//診療科目か病院名か住所で where条件を組み立てます
$where = " where (hospcat like '$hospcat') and (hospname like '%$hospname%') and (hospadd like '%$hospadd%')";
これで、1ページ目は表示するのですが
2ページ目にはどうやってこの情報を送ったらいいのでしょうか?
参考書には以下のように書いてあるのですが。。
//ページナビゲーションのパラメータの設定
if (isset($key) and strlen($key) > 0) {
//キーワードが指定されていたらパラメータに追加します
$keynavi = "&key=" . urlencode($key);
}
else {
$keynavi = "";
}
色々やって見ますが、変な検索結果が出てきます。
堂かよろしくお願いいたします。
apache 1.3.34
mysql 4.0.26
php 4.4.2
で運用しています。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
2ページ目以降は「何個目から表示するか?」をURLに含めます。
初回の検索が
http://***.**.**/search.php?key=<検索キーワード>
だった場合、これを
http://***.**.**/search.php?key=<検索キーワード>&start=1
と書かれたとして処理(startパラメータが無かったらstartを1にする)し、1件目から1ページ分(仮に1ページ20件とします)表示します。
で、2ページ目以降があるとき(20件表示してまだ残っているとき)は、検索結果の最後に
<a href="http://***.**.**/search.php?key=<検索キーワード>&start=21">次ページ</a>
を出力し、ユーザーにクリックさせます。
そこがクリックされると、PHPは
http://***.**.**/search.php?key=<検索キーワード>&start=21
と言うリクエストを受ける事になるので、1~20件目を表示せずにスキップし、21件目から20件分表示します(21~40件目が表示される)
URLのパラメータに、何件スキップしてから表示するか含め、それで続きを表示する訳です。
つまり「続きを表示するのではなく、毎回同じキーワードで再検索するけど、何件目から表示するかを変えて、続きを表示するフリをする」わけです。
この回答への補足
早速回答ありがとうございます!
検索キーワード が私の質問のように複数ある場合はどのようにしたらいいのでしょうか?
スミマセン、とっても初心者な質問ばかりで。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP PHP ページング データベース 1 2022/06/16 10:30
- PHP PHP MySql ページング 2 2022/09/20 06:38
- SEO 検索エンジン反映遅い 1 2022/06/04 07:35
- その他(SNS・コミュニケーションサービス) Yahoo!とGoogle検索のしくみの違いを教えてください 2 2022/08/14 01:53
- SEO 検索エンジンにインデックスされない 3 2023/02/20 08:59
- WordPress(ワードプレス) WordPressのサイトにPDFをアップロードした際にGoogleなどの検索結果に出ないでほしい 1 2022/08/03 10:44
- Visual Basic(VBA) シフト表のコマで「ブロック」されている前の時間の「出」を同一列の「休」と入れ替えたいがふぇきません。 2 2023/08/02 18:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
検索結果が複数ページになるとき
-
onedrive にexcelファイルをア...
-
PHPのif文でその処理を途中で抜...
-
.phpと.incファイルの違いはな...
-
拡張子php画像をjpg画像等に変...
-
別ファイルの変数を呼び出した...
-
PHPでバックグランド処理について
-
「@$変数」の「@の意味は?」
-
こちらはただの直列処理ですか?
-
xreaでファイル作成ができない...
-
PHPにてC言語プログラムを呼び...
-
AccessのDoCmd.SendObjectについて
-
データ送信をボタンを押さずに...
-
PEAR(Image_QRCode)のエラー
-
フォントの色を変えるには?
-
「クラウドにアップロード」」...
-
MySQLのdatetime型の月日0を削...
-
PHPで exec(fc /T/N....)について
-
PHPでFilename cannot be empty...
-
パースエラーとは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【WordPress】メディアの一覧出力
-
リダイレクトでPOST
-
URLの変わらないページをPHPで...
-
GETで「?」無しでパラメータの...
-
URLでスラッシュ区切りでパラメ...
-
pukiwikiのrecent(最近の更新...
-
phpMyAdminでデータの追加・更...
-
携帯サイトのリロード
-
WordPress 検索結果ページのペ...
-
header関数でページ移動する場...
-
携帯で、phpページからhtmlペー...
-
認証が通ったidを元にidテーブ...
-
phpで更新しない方法についての...
-
PHPとSmartyで、ブログサービス...
-
フォーム処理から戻ったページ...
-
連想配列の要素が無い時の警告...
-
phpでの二重投稿防止について
-
レンタル予約管理表を作りたい
-
PHPの値受け渡しとアンカーを一...
-
テキストリンクを2回クリックし...
おすすめ情報