SQLで抽出したデータを12件ずつ、1ページ毎に表示させたいのですが・・・
次ページへデータの続きをそのまま表示させるようにしたいのですが、うまくできません。
どなたか分かる方がいらっしゃいましたら、是非ご教授ください。
SELECT~WHERE(条件)を入れると次ページをクリックしてもデータを引っ張っていくのは難しいのでしょうか?
検索条件を抽出し、sessionで作成してみたのですが、データを引っ張ることが出来ず、エラーになってしまいます。
前ページ(print2.asp)より検索条件により
例:住所(add1)→福島県
または
住所(add2)→福島県、住所(add3)→いわき市
これをsessionに格納。
-----------------------------
<%
'================================================================
' 初期設定
'================================================================
MaxLog = 12
RecCnt = Request.QueryString("recnum")
MovPge = Request.QueryString("pgenum")
If (RecCnt = "") Then
DefCNT = 1
DefPge = 1
Else
DefCNT = CInt(RecCnt)
SecCNT = DefCNT - CInt(MaxLog)
DefPge = CInt(MovPge)
End If
'================================================================
' データベース接続
'================================================================
Set db=Server.CreateObject("ADODB.Connection")
db.connectionstring=application("strCString")
db.Open
'================================================================
' レコードセット生成
'================================================================
Set rec = Server.CreateObject("ADODB.Recordset")
If session("add2") = "" or IsNull(session("add2")) Then
SQLS = "SELECT * FROM T_add WHERE 住所1 = '" & session("add1") & "' order by 世帯番号"
Else
SQLS = "SELECT * FROM T_add WHERE 住所1 = '" & session("add2") & "' AND 住所2 = '" & session("add3") & "' order by 世帯番号"
End If
With rec
.ActiveConnection = db
.CursorType = 1
.LockType = 1
.Open SQLS, , , ,&H0001
AllRec = .RecordCount
End With
%>
<FORM METHOD="POST" ACTION="print3.asp" NAME="myform">
<br>
<table cellspacing="0" cellpadding="1" width=80% height=100%>
<%
'================================================================
' レコード数取得
'================================================================
If (CLng(AllRec) > 0) Then
rec.AbsolutePosition = DefCNT
recount = 1
Do While not rec.EOF
If recount <> Fix(recount/2)*2 Then
%>
<tr>
<% End If %>
<td nowrap>〒<%=left(rec("現郵便番号"),3) & "-" & right(rec("現郵便番号"),4)%><br>
市原市<%=rec("現居所1")%> <%=rec("現居所2")%><br><br>
<center><%=rec("氏名")%> 様</center><p>
</td>
<% If recount = Fix(recount/2)*2 Then %>
</tr>
<% End If
DefCNT = DefCNT + 1
recount = recount + 1
rec.MoveNext
If DefCNT = (DefPge * MaxLog + 1) Then Exit Do
Loop
Else
Response.Write "<FONT COLOR=#FF0000><B>該当する項目が見つかりませんでした!</B></FONT><P>"
End If
rec.Close
%>
</table>
<br>
<INPUT TYPE="hidden" NAME="cnt" VALUE="<%=recount%>">
<%
'=======================================================================
' ページ移動設定
'=======================================================================
If (DefPge = 1) And (AllRec <= MaxLog) Then
'PrevLink = "前ページ"
'IndxLink = "<A HREF='print3.asp'>トップページ</A>"
NextLink = "次ページ"
ElseIf (DefPge = 1) And (AllRec > MaxLog) Then
Response.Write "<DIV ALIGN=right>"
Response.Write "[<A HREF='print3?recnum=" & DefCNT & "&pgenum=" & DefPge + 1 & "'>次ページ</A>]"
Response.Write "</DIV>"
ElseIf (DefPge <> 1) And (AllRec <= DefPge * MaxLog) Then
Response.Write "<DIV ALIGN=right>"
Response.Write "[<A HREF='print3?recnum=" & SecCNT & "&pgenum=" & DefPge - 1 & "'>前ページ</A>]"
Response.Write "</DIV>"
ElseIf (DefPge <> 1) And (AllRec > DefPge * MaxLog) Then
Response.Write "<DIV ALIGN=right>"
Response.Write "[<A HREF='print3?recnum=" & SecCNT & "&pgenum=" & DefPge - 1 & "'>前ページ</A>|"
Response.Write "<A HREF='print3?recnum=" & DefCNT & "&pgenum=" & DefPge + 1 & "'>次ページ</A>]"
Response.Write "</DIV>"
End If
db.Close: Set db = Nothing
%>
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
ん???
>>SELECT~WHERE(条件)を入れると次ページをクリックしてもデータを引っ張っていくのは難しいのでしょうか?
>>SQLS = "SELECT * FROM T_add WHERE 住所1 = '" & session("add1") & "' order by 世帯番号"
>>SQLS = "SELECT * FROM T_add WHERE 住所1 = '" & session("add2") & "' AND 住所2 = '" & session("add3") & "' order by 世帯番号"
「ページ読み込むたびに、SQL発行して、該当する全データ取ってきてる」
SQL文(及びASP構成)見る以上、そうなってますよね。
>>SQLで抽出したデータを12件ずつ、1ページ毎に表示させたいのですが・・・
決まってること。は、1ページに12件。
なわけですから、
・SQL文で、●件目~●件目を取得する。
の処理を書くか
・ASP構文で、取得してきた全データの中から、●件目~●件目を表示する
の処理を書くか
のどっちかかと思いますよ。
1ページに何件表示するのか
今、何ページ目にいるのか
あたりの情報が常に取得できてれば可能ですよね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP PHP MySql ページング 2 2022/09/20 06:38
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- PHP 重複を防ぐ記述について教えて下さい。 3 2023/04/03 14:35
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DataGridViewで表示に制限をつ...
-
【Excel VBA】先頭の「0」飛び...
-
.NET SqlDataReader のレコー...
-
Listviewのデータを上から順番...
-
VBによる可変長ファイルの読み書き
-
SqlDataSourceのUpdatingイベン...
-
GridViewにバインドせずにデー...
-
GASでスプレッドシートの一番上...
-
【ASP.NET MVC】一覧編集画面
-
GridViewを自動的にスクロール...
-
DataGrdViewに関連付けたデータ...
-
マクロについて(tatsumaru77さ...
-
yahoo天気の過去1ヶ月分のデー...
-
Windows formアプリで データグ...
-
ExcelVBAを使って、値...
-
VB.NETで DataRow()を利用して...
-
Excelで指定した日付から過去の...
-
特定のセルが空白だったら、そ...
-
VBAでセルをクリックする回...
-
VBA:小数点以下の数字を取得で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【Excel VBA】先頭の「0」飛び...
-
DataGrdViewに関連付けたデータ...
-
Listviewのデータを上から順番...
-
GASでスプレッドシートの一番上...
-
VBAでページ番号、ページ最終行...
-
.NET SqlDataReader のレコー...
-
GridViewにバインドせずにデー...
-
【ASP.NET MVC】一覧編集画面
-
ASP C# データベースから1行取得
-
MSFlexGridのデータ表示位置の設定
-
コンパイルエラーSubまたは...
-
C# データ配列から画像を作成す...
-
エクセルマクロ小数点桁数
-
DataGridViewで表示に制限をつ...
-
スプレッドシート 一括でQRコー...
-
GridViewを自動的にスクロール...
-
VB DataRepeaterにて条件で表示
-
DBへの重複更新を防ぐ方法について
-
GoogleEarthのKMLファイルでラ...
-
エクセルVBA、数式の入ったセル...
おすすめ情報