• 締切済み

[検索結果ページのロジック] 検索結果ページを作成中なのですが…

[検索結果ページのロジック] 検索結果ページを作成中なのですが… いつもお世話になります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

みんなの回答

回答No.2

あとはこんな記事もあります。 http://japan.internet.com/developer/20060620/25.html #1 の回答もこの記事も、全件を取得してからゴニョゴニョして表示する処理ではなく、必要な件数分だけを取得するものですね。 だから 「何件目から取得しているのか」 や 「何件分取得しているのか」 の情報は検索用の SQL でも使用するし、結果ページのナビゲート部分を描画するのにも必要になるので URL に記述するとかで良いんじゃないでしょうかね。 あとは、最大でも 5000件しかないのに 5000件目を表示している結果ページでも 「次の 50件」 とかのリンクは無意味ですから 「最大何件あるのか」 という情報も SQL を発行して取得しておき、ナビゲートの描画に利用すればよいかと。

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

何で悩んでいるのかよくわかりません。。。 全体の検索結果やトータル件数をどこぞに保持できているとして、URL のパラメーターに 「何件目から」 「何件分」 とかを持たせるとかは? 全件分を保持しておくのが辛いのなら毎回、 「何件目から何件目まで」 というクエリーと 「全体の件数は何件?」 てな 2つのクエリーを問いかけるとか。 下記 SQL は postalCode, pref, city, town という列を持つ postalCode テーブルに対して、pref が "北海道" というレコードの一覧を postalCode 列でソートした結果のうち 51件目~100件目を返すものです。(SQL Server 2005 から使えるやりかたっぽいです) with query as (  select   ROW_NUMBER() over (order by postalCode) as num, postalCode, pref, city, town  from postalList  where pref='北海道' ) select  num, postalCode, pref, city, town from query where num between 51 and 100 検索条件と between n1 and n2 の n1 と n2 をパラメータにしてストアド化しておくとか。 あとはこれとは別に件数を返す SQL も発行する。 検索結果ページに 50件ずつ表示するとして、ナビゲート部分に 「前の 50件」 「次の 50件」 とかのリンクを作るのであれば、今何件目から表示しているのかとか、あと何件あるのか、とかでリンクを作成すればいいと思います。

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

関連するQ&A

  • PHP 検索結果のCSVダウンロード

    PHPを使用しています。 管理画面で検索結果を「ダウンロード」ボタン押下で CSV出力させたいのですが、 一度表示させた「検索結果」のみを後からCSV出力させるロジックが不明で困っております。 例えば、ボタン押下で入力フォームの内容でもう一度DBを検索させる? などが 考えられるのですが・・・

    • ベストアンサー
    • PHP
  • 検索結果を静的ページで作成することは可能ですか。

    静的ページの方がSEOに良い?ようなのですが、例えば会員制サイトなどで、検索してその検索結果の会員を表示できるようなサイトの場合、動的ページを静的URLに変更するのではなく、静的ページだけで作成することも可能なのでしょうか。

    • 締切済み
    • PHP
  • googleの検索結果が最近おかしい

    googleの検索結果で100件にしているのですが、最近数件表示後の下に 「類似の検索の結果」とでて、 更に3~4件後の検索結果の後すぐ「次へ」の表示が出てきます。そして次へをクリックすると、 2ページ目が表示され、2ページ目から100件表示となります。 下記のような感じです。 http://uploda.cc/img/img515b0ef3da5ca.JPG 前まではきちんと1ページ目から100件表示されていたはずなのですが、何故なのでしょうか?

  • Googleの検索結果がおかしい

    Googleで、例えば、 論文 filetype:pdf で検索すると、 「論文 filetype:pdf の検索結果のうち 日本語のページ 約 192,000 件中 1 - 3 件目」 と、192,000件ヒットなのに3件しか表示されません。 なぜでしょうか? filetype:pdf指定での検索がおかしいようです。 少し前までは普通に表示されていたのですが。 仕様が変わったのでしょうか? どうすれば検索結果を全て表示できるようになりますか? ちなみに、Yahoo!では全部表示されました。 しかし、その他は検索エンジン、A9などでも同様の症状になります。

  • ASP.NET GridView の検索画面でのページング操作処理について

    ASP.NET・WindowsXP・ACCESS2003DB・ 2005ExpressEdition 検索画面を作成しましたがうまく動作しません教えてください。 1.条件入力用のテキストボックス幾つか作成。 2.検索ボタンを作成。 3.GridViewに上記の条件でSqlDatasourceより   データを表示できました。 4.1ページの件数10件を遥かにが多いため   GridView下段にページ番号が表示される 5.ページ番号をクリックすると、全データが表示   される。 条件入力した値でのSQL文のルーチンを通っていない 為と思われるが、GridView下段にページ番号を クリックしたときのイベントに条件ルーチンを 挿入したいのですが教えて頂けますでしょうか よろしくお願いいたします。

  • 検索結果のリンクを開くと、元の検索結果画面に戻れない。

    こんにちは。 仕事探しのサイトなどで、 検索条件(勤務地は東京都で、業種はメーカーで・・・など)にチェックを入れ、検索ボタンを押し、検索結果が10件表示されたとします。 出た結果で、さらに詳しい情報を見ようと、リンクをクリックし、 やっぱり他も見てみようと、 元の10件の検索結果が表示されたページに戻ろうと、 戻るボタンを押すと、 ---------------------------------------------------------------------- 警告 : ページの有効期限切れ 要求したページは、フォームで送信された情報を使用して作成されました。このページは、もう利用できません。セキュリティ保護のため、情報は自動的には再送信されません。 ---------------------------------------------------------------------- というのが表示されてしまい、元のページにいけません。 その時点で、更新ボタンを押すと、戻れるのですが、 こういった警告ページを出さないようにするには、どうしたらよいでしょうか。 また、申し込みフォームに記入して、 入力エラーがあった場合、入力画面に戻ると、 入力したものが全部消えてしまいますが、これも 同じような理由なのでしょうか。 これは、自分のIEの設定次第で直せるものなのでしょうか? セキュリティーの設定を全部有効にしてみたのですが。。。 それとも、制作側の作り方のせいでしょうか? 何卒ご指導お願い致します。 自作PC windows2000 ie6

  • ブラウザの検索結果のページに戻れない

    IEで検索エンジンなどの検索結果からお目当てのHPに飛んだあと、「戻る」ボタンで検索結果に戻ろうとすると、 文字だらけの「表示できません」のページに飛んでしまいます。 IEの設定がいけないのでしょうか? どこを操作すれば直るのか教えてください。

  • ヤフオクの検索表示結果について

    こんにちは! ヤフオクで検索をかけると、1ページあたりの表示件数が20件の時と50件の時があるのですが、どうやって決められているのでしょうか? 大量にヒットした場合、20件表示だと「次のページ」のボタンを押すのが大変なので、できれば50件~の表示にしたいのですが・・・。 これって自動的なものなのでしょうか?

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

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

    • 締切済み
    • PHP
  • Google検索結果を全部見たいです

    Google検索のことで質問させてください。 たとえば「おせち料理」と検索します。 1ページ目には上に「約8,730,000 件中・・・」と出るのに、 10ページ目では 「約 5,100,000 件中 」です。。  数減ってる?と思いながら、何ページ目まであるんだろうとどんどん進んでいくと、最後は73ページめ。  1ページ10件だから、730件しか見れないんです。 「最も的確な結果を表示するために、上の707件と似たページは除外されています。 検索結果をすべて表示するには、ここから再検索してください。」  をクリックしても、72ページ目までしか見れません。  Googleって検索した結果全部を見ることって出来ないんですか?  詳しい人教えてください。