[検索結果ページのロジック] 検索結果ページを作成中なのですが…
いつもお世話になります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
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
あとはこんな記事もあります。
http://japan.internet.com/developer/20060620/25. …
#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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- SEO 検索エンジン反映遅い 1 2022/06/04 07:35
- Yahoo!メール yahooメールの検索結果を全て表示するには? 1 2023/05/16 14:34
- WordPress(ワードプレス) ワードプレス。複数の投稿ページを、複数の固定ページに区別して、表示させる方法は 1 2023/03/04 19:54
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) 検索のユーザーフォームの表示について 1 2023/03/27 23:31
- その他(プログラミング・Web制作) パイソンでのプログラミングについて 3 2022/08/11 20:31
- SEO 検索エンジンにインデックスされない 3 2023/02/20 08:59
- エッセイ・随筆 尋常小学校唱歌『さくら さくら』の解釈について以下のものは成立しますか?普通じゃおもろない? 7 2023/02/26 16:52
- WordPress(ワードプレス) WordPressのサイトにPDFをアップロードした際にGoogleなどの検索結果に出ないでほしい 1 2022/08/03 10:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
現在のブックを閉じないで、マ...
-
IEの通知バー制御ができなくなった
-
VB.net(VB)で、フォームにExcel...
-
VBA listBoxから
-
VBAで各列の"+"と"o"の合計数を...
-
VBA 複数条件の分岐処理の上手...
-
ExcelVBA シート名を複数セルか...
-
Excel VBA 定義されたプロージ...
-
VBA初心者 Ctrl+での操作、ボタ...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
エクセルのマクロについて教え...
-
Excel-VBAのmsgBox()の不思議
-
左右の表のキー位置を合わせたい
-
ExcelのVBAコードについて教え...
-
Excel マクロについての相談
-
CADシステムに図面番号を入力し...
-
VBAの質問になります 行の非表示
-
VBA 同じ名前のオブジェクトを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DBを10件毎に表示ページング...
-
ホームページにブログ記事をサ...
-
HTMLでASPを動かしたい
-
c# webBrowser 内のpdfファイル...
-
WEBページに日付を付ける
-
RSSファイルを取得して、現在の...
-
サイトに表示しているテキスト...
-
よくある 『 第○(1・2・3・4・...
-
月の第一週とは
-
エクセルで毎月第2週日の水曜日...
-
週2回のペースって だいたい何...
-
apacheでPerl CGIが作動せず、5...
-
毎○曜日って、使いますか?
-
[Excel] ある日の曜日が当月の"...
-
エクセルで相対パスの書き方を...
-
アンケートなどの1日1回の投...
-
VBAでExcelのヘッダーに文字列+...
-
クライアントのIPとマシン名を...
-
週休3日制で土日の他にもう一日...
-
VBA。複数のChangeイベントをま...
おすすめ情報