• ベストアンサー

検索結果表示ページで1 2 3... といったページ表示をさせたい

DBから社員情報を抽出して表示させるプログラムを作っています。10件ごとの表示にさせたいので、「前ページ 1 2 3... 次ページ」のようにページを数字と前・次ページのリンクで表示し、それをクリックすればそのページに飛ぶようにしたいと考えています。 「前ページ」「次ページ」のみの表示であればできたのですが、「1 2 3... 」のようにするやり方がわかりません。 基本的な問題だとは思いますが、どなたかご教授お願いいたします。よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

DBは何を使っているんでしょうか?これはSQL文の問題ですね。例えばMySQLであれば、SQLの最後に"limit スタート位置,取り出す件数"という一節を付けます。お使いのDBのマニュアルを見てみて下さい。

chizudara
質問者

お礼

何度もお答えいただきまして本当にありがとうございます。使用DBはMySQLです。10件ずつの表示であればスタート位置を「ページ*10-9」の値にしてあげれば取れそうですね。やっと解決できそうです。大変助かりました。本当にありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

回答No.2

リンク先にはページ指定があるんですよね?例えば&p=1とか&p=2とか。表示されたHTMLをソースで表示させて、狙い通りの値が表示されているか確認しましょう。ループの中でインクリメントしていくカウンタを使ってここを表示させようとしてるのだと思いますが、その変数がちゃんと正しい値になってるか、print文などを使って確認しましょう。あと念のためなんですが、リンク先ではページを指定すれば正しい画面が表示されるんですよね? ここから先はアルゴリズム云々の話ではなく、恐らくあなたが書いたソース自身の問題になるので、ソースを見ないと何とも言えません。が、複雑なスクリプトではないはずなので、きちんとそれぞれの変数の値が正しくなっているかを一つ一つ確認すればちゃんと動くと思います。動かないからといってすぐここで質問するのではなく、ちゃんとデバッグをしましょう。経験のある我々だって間違いがなく書いてそのまま動くプログラムなんてほとんどない、たいていはどこかに間違いがあって、それを一つ一つ潰して動くようにするのですから。

chizudara
質問者

お礼

ご指摘ありがとうございました。wakame0729さんのおっしゃるとおり、甘えがあったかと思います。月曜にならないとソースに触れないので、月曜になり次第デバッグ作業をもう一度やってみようと思います。 >リンク先ではページを指定すれば正しい画面が表示されるんですよね? 検索ボタンを押して初めに表示される画面は1~10件が正しく表示されますが、そこから1.2.3...のページリンクをクリックしても動きがおかしくなってしまいます。私の今のやり方ではページリンクの「1.2.3...」の部分を表示させるコードを書いているだけで、例えば3をクリックしたときに31~40件目を表示させるようにする仕組みがわからず、こちらで質問させていただいた次第です。 何度もお時間を割いていただきましてありがとうございました。今一度アドバイスをいただければ幸いです。どうぞ宜しくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

ページングですね。手順としては $num=データ総数 $par=1ページの表示件数 $maxpage = ceil($num / $par); $maxpage=総ページ数 あとはこのページ総数分ループさせて表示させます。 前ページ、次ページができるのでしたら、これでできますよね?

chizudara
質問者

お礼

早速のご回答ありがとうございます。今手元にソースがないので確かめられないのですが、その方法は試してみました。ページのリンクはこれでできたのですが、リンクをクリックしても動きがおかしくて・・・きちんと1ページ目や2ページ目に飛ばず、最後のページに飛んでしまったり、真っ白になってしまったりします。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • https://のページが検索結果に表示されてしまう

    会社のホームページが、Yahoo検索で表示されるのですが、そのリンクが本来「http://」からはじめるページなのに、作ってもいない「https://」が頭につくページになっています。 そのため、Yahoo検索の表示をクリックするとブラウザで警告文が表示されてしまいます。 どうすれば、Yahoo検索の結果に正しい「http://」からはじめるページに修正することができるでしょうか。 ちなみにYahooから指示された以下の方法ではダメでした。 もし、検索結果に表示されるURLの変更をご希望の場合は、次回の データベース更新時に検索エンジン用ロボットが新しいページを登録できるように、変更前のページに変更後のページへのリンクを設定してください。

  • 検索結果でページリスト表示したい

    環境は、phpとmysqlです。 やりたいこと 検索結果ページで 前へ   | 3 | 4 | 5 | 6 | 7 |・・・ 次へ のように表示して、数字を押せばその検索数のページにジャンプし 前へや次へをクリックすると 1ページジャンプするようにしたいです。 どこか参考になるサイトやサンプルがあるようなサイトをご存知でしたら 教えていただけないでしょうか? よろしくお願い致します。

    • 締切済み
    • PHP
  • 検索結果を指定件数ずつ抽出表示したい。

    データベース(以下、DB)は、SQLite2です。 PHPスクリプトの中で利用しています。 なお、本質問はMySQLとして説明して頂いても結構です。 (恐らく、同じような方法で解決できると思いますので。) 考え方が分かりましたら、あとは自分で調べられますので、 その方向性だけを示して下さるというのでも結構です。 さて、質問に移らせて頂きますが、 DBに検索をかけ、ヒットしたレコードを、 ある特定のカラムをもとにソートし、その中の上から指定件数分抽出する ということをしたいと考えています。 例をあげます。 テーブル名(tbl_siritori) id word cate 1 りんご 食べ物 2 ごりら 動物 3 らくだ 動物 4 ダック 動物 5 くり 食べ物 6 リス 動物 7 スイカ 食べ物 8 カメ 動物 9 メロン 食べ物 というDBがあったとして、 このDBに、[cate]に「食」という文字が入っているようなデータを、 [id]順に見て、大きな数字のものを上から3件抽出したい場合、 どのような方法(SQL文)が考えられますか。 3件のデータを表示した後、 さらにそれに続く3件のデータを次ページに表示、 さらにそれに続く3件も同様にさらに次ページに表示…(略) ということをしようと思っています。 1ページに3件、で、何ページにも渡ってデータを3件ずつ出力していく、ということです。 以上のことを実現可能であるSQL文の中でも、 最も一般的なものを教えて下さい。 $query = "SELECT * FROM tbl_siritori WHERE (cate LIKE '%食%') ~~ごにゃごにゃ~~ ORDER BY id DESC"; というような書き方で、1文で解決できるものと思っていますが、 複数の文で絞り込むような形になるのでしょうか。 以上、よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • [検索結果ページのロジック] 検索結果ページを作成中なのですが…

    [検索結果ページのロジック] 検索結果ページを作成中なのですが… いつもお世話になりますm(_ _)m 現在検索ページを作成中なのですが、検索結果表示の ロジックが浮かばず困っています。 (検索機能は出来てます。) 仕様言語:VB2005 (ASP.net) (GridView等は使わずに、ASP的な組立てです。) (仕様) 検索結果は10件ずつ1ページに表示させます。 10件以上の場合は、「次の10件」「前の10件」の ハイパーリンクを表示させ、移動出来るように します。(リダイレクトで同一ページに表示) (解らない事) 最初の10件を含め、どのようなロジックで 作れば良いかが解りません…。 現状は (1) for i = 1 to 10 オブジェクト(i) = DB.Rows(i).Item("項目") next と10件指定して1ページ目を表示させてる状態です。 (2) 検索結果の件数は取れています。 (3) Session仕様可、URLからパラメータを取得可 です。 どのようなロジックにすれば、汎用的な検索結果ページ になるのでしょうか?頭の中で、次へボタン押下時に+10 前の10件ボタン押下時に-10すればという考えはあるのですが、 前に進まず2週間が経ってしまいました…。 よろしければご指導お願いします。切に願いますtt

  • 404ページを表示させたい

    削除やそもそもないページを叩かれたときに404ページのデザインを表示したいです。 http://aaaa.jp/123546 ↑は例のURLです。 動的ページで後ろに数字が入っています。 この数字はDBに入っていて、DBに数字が入っていると特定のページが表示されます。 URLはそのままでデザインとHTTPステータスを404で出力したいのですが 方法はありませんか? 404のページ、ErrorDocument 404は設定済みです。 よろしくお願いします。

  • ページの削除と検索結果

    会社HPの人物紹介ページを2ヶ月程前にサーバーから削除しました。 しかし、今だに人物名で検索すると1ページ目に表示されます リンクをクリックするとページ自体はありませんので「Not Found」となります 検索結果のページから消す方法は有るのでしょうか? よろしくお願いします

    • ベストアンサー
    • SEO
  • ジオシティーズでページが表示できません

    ジオシティーズでページが表示できませんと表示されてしまいます。 こんにちは、ホームページ作成初心者のものです。 今、ジオシティーズでHPを作成しているのですが トップページ(フレームページ)が表示出来なくて困っています。 メニューを左、内容を右としているのですが、そのメニューの中にトップページのリンクを作ったのですが、リンクをクリックしてもページが表示できませんと表示されてしまいます。 トップページ(フレームページ)自体は表示出来てるし、他のメニューはちゃんと右に表示されるのですがトップページのリンクだけ表示できません。 開いた時はトップページとして右に表示されるのですが、リンクをクリックすると表示できません。 何が問題でしょうか? URLも間違ってないと思うのですが…あ、でもそのトップページに使用しているページをプロパティでURLを確認したらの一番最後の.htmに%22という文字が付いてましたがこれも関係あるのでしょうか? 文章がまとまらなくて申し訳ございません。 自分でも試行錯誤して頑張ってみますが、ページが表示されない何が問題かわかる方いらっしゃいましたらご教授お願いします。 カテ違いだったらすみません、HTMLで作ってます。

    • ベストアンサー
    • HTML
  • 検索結果の画面に戻るとページを表示できない

    下記事象が発生しております。 対処方法ご存知の方、ご教示いただければ幸いです。 なお、例としてOK Webとしておりますが、他のサイト であっても同様の動きをするサイトでは不具合が再現 されます。 (「同様の動き」とは、検索を行い、検索結果のリンク をたどった後に戻るボタンで検索結果一覧に戻ること) 【環境】 Windows XP Pro SP2 Internet Explorer 6.0.2900 【発生事象】 ・OK WebトップページにてQ&A検索を行う。 ・検索結果が表示される。 ・検索結果のリンクをクリックし、内容を表示する。 ・ブラウザの「戻る」ボタンをクリックする。 ・「ページを表示できません」と表示され、本来検索結果 の画面が表示されるはずであるが、表示されない。

  • 前のページのリンクをクリックすると次のページでをimg表示させる

    お世話になってます。 前のページのリンクをクリックすると次のページでimgを表示させるにはどうしたら良いでしょうか。 前のページ(mae.html)には、リンクA、リンクB、リンクCとあり、 次のページ(tsugi.html)にはメニューアイコンimgA、imgA-1、imgB、imgB-1、imgC、imgC-1とあり、リンクAをクリックするとimgA-1が表示され、そのほかはimgB、imgCが表示されるようにしたいのです。 どなたかご教授願います。

  • ページがなかなか表示されない

    Win,Macが混在した中でLANを組んでいます。 NTT西日本Bフレッツ・マンションタイプで VDSL装置 VH-100E[EX-N]→終端装置2004W[S]→スイッチングHUB→各端末という流れで接続されています。 インターネットでページを表示させようとすると(例えばリンクをクリックしたら)、ステータスバーに「www.○○○○.co.jpのアドレスを解決しています」「www.○○○○.co.jpを待っています」など表示され、なかなかページが表示されません。正常に表示されることもあるのですが、半分くらいの確率で、上記のような症状が起きます。 ページが表示されてからは、速度的には問題なく快適です。 直接的に関連するかはわからないですが、仮にMac/Safariでリンクをクリックしても上記の症状が起こるので、丁度ダブルクリックのような感覚でリンクを(ダブル)クリックすると、症状が出ずにページが表示されることが多いです。 ひどい時は、20秒くらいしてもページが表示されない時もあります。 メール関連のそのような滞りがなく送受信できますし、ネットワーク間のデータ移動等も問題ありません。 原因がわからないのですが、解決法をお教えください。 また、上記の他に足らない情報があればご指摘ください。 よろしくお願いいたします。

インク残量情報の更新
このQ&Aのポイント
  • 「EW-M571TW」を利用しています。インク残量情報を更新できない状況になっています。
  • パソコンとも繋いでいますが、プリンターはコピー機としても使用しており、PCから操作しても反応がありません。
  • 電源を落として再起動しても変わらず、プリンターの画面には「確認」というボタン操作を要求していますが、反応しません。お知恵をお持ちの方はいらっしゃいますか?
回答を見る