検索ボックスに入力されたクエリを基に検索する、search.phpを作成しました。
queに格納されているキーワードを検索して、50件ずつ表示します。
このとき
search.php?que=[検索キーワード]&cat=[検索カテゴリ]&page=1
で検索結果の1ページ目、
search.php?que=[検索キーワード]&page=2
で検索結果の2ページ目が表示されます。
ページ下部には
前へ 次へ
とあり、それぞれページひとつ前、ページひとつ次のURLがあるのですが、このURLはクエリによって動的に変化します。
search.php?que=aaa&cat=abc&page=4 なら前へ:search.php?que=aaa&cat=abc&page=3 、 次へ:search.php?que=aaa&cat=abc&page=5
search.php?que=bbb?page=4 なら前へ:search.php?que=bbb?page=3 、 次へ:search.php?que=bbb?page=5
このように、それ以外のクエリを保持したまま、ページ番号だけを書き換えるにはどのようにすればいいのでしょうか。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
クエリは$_SERVER["QUERY_STRING"]で拾えるので
合致する文字を足したり引いたりすればよいです
ただし、page=1のひとつ前はpage=0、page=0のひとつ前はpage=-1
になっちゃうので、その辺を処理する場合は工夫が必要です
<?PHP
$q=$_SERVER["QUERY_STRING"];
$pattern="/(?<=(?<=^|&)page=)\d+?(?=&|$)/e";
$replacement="$0-1";
$pre= preg_replace($pattern,$replacement,$q);
$replacement="$0+1";
$next= preg_replace($pattern,$replacement,$q);
print "<a href=\"".$_SERVER["SCRIPT_NAME"].($pre!==""?"?":"").$pre."\">前</a>";
print "<a href=\"".$_SERVER["SCRIPT_NAME"].($next!==""?"?":"").$next."\">後</a>";
?>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 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
- PHP php my adminより取り出したデータ表示 2 2022/06/15 11:56
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- SEO 検索エンジン反映遅い 1 2022/06/04 07:35
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- フランス語 フランス語熟語の意味 1 2023/08/08 10:51
- SEO googole サーチコンソールのページについて 1 2022/08/09 00:04
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
これの対応OSを教えて下さい。p...
-
*.php、*.php3、*.phtmlの違い
-
服にかいた油性ペンがにじまな...
-
テレメールとは?
-
gdとgd2の違い
-
libphp5.so がないと?
-
PHPでメールを受信するには?
-
PEAR(Image_QRCode)のエラー
-
phpからoutlook起動
-
【PHP】tmp_nameの命名規約につ...
-
フォームで戻った際に入力済み...
-
PHPINFOが見えない
-
onedrive にexcelファイルをア...
-
フォントの色を変えるには?
-
バッチを用いたフォルダの自動移動
-
phpとaspの違いについて
-
form actionで二つ送信先を指定...
-
phpで画像がどうしても文字化け...
-
透過PNGが透過されない!!
-
PHP8を使うと、大量のWarningが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
.htaccessにphp_valueが使用できな
-
フォームで戻った際に入力済み...
-
phpの中でphpを書けないか
-
<A href ~ と一緒に値を渡すには
-
header(Location:~)で$_SESS...
-
PHPで別PHPを呼び出す。
-
PHPからMSSQLへの接続結果の文...
-
これの対応OSを教えて下さい。p...
-
複数のPHPファイルを読み込むに...
-
*.php、*.php3、*.phtmlの違い
-
東京都の高校の九段高校ってど...
-
HYのAM11:00のラップの部分の歌...
-
PHPINFOが見えない
-
<大至急!>ご教授願います。
-
リンクのクリック数をカウンタ...
-
服にかいた油性ペンがにじまな...
-
さくらインターネットでメール...
-
libphp5.so がないと?
-
mamp環境でのcronの使い方で困...
-
PHPExcel に関して
おすすめ情報