三流君のソースコード置き場

三流プログラマーが作成したコードが置いてあります。ブログに過去のソースコードをアップして、ブログの検索機能で利用してます(利用予定です)※古くさいコードが多いです・・・

挨拶・自己紹介:
失敗続きのAB型の変わり者 :三流プログラマー Ken3です
フリーのエンジニア・個人事業主です・・と書くと聞こえはイイが(それとなくカッコよく聞こえるが)、 現在は小さな案件の受注請負 と 短期派遣 で 日々つつましく?ほそぼそと暮らしてます。
(※詳細は[三流君 三流プログラマーとは?]を見てください)


広告:


[記事一覧、バックナンバーを見る]

asp082.html 三流君ASP:ページ単位の表示にチャレンジしてみた

元の三流解説は、
三流君ASP:ページ単位の表示にチャレンジしてみた
↑を見て、笑ってやってください。
ブログに過去のソースコードをアップして、ブログの検索機能で利用してます(利用予定です)
※古くさいコードが多いです・・・



ソースコード

<%@LANGUAGE=VBScript%>
<% '頭でページのパラメータをチェックする
   nPAGE = Cint("0" & Request.QueryString("page"))
   If nPAGE = 0 Then 'パラメータ無しなら強引に1ページにする
     nPAGE = 1
   End IF
%>
<html>
<head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
<title>20行単位でページ送りするテストプログラム</title>
</head>
<body>
<h1>20行単位でページ送りするテストプログラム</h1>
test082-1.asp?page=99とページ番号を受け取り、該当ページを表示する<br>
単純にループで空読みしてみました(オイオイ手抜きか?)<br>
前ページ・次ページのリンクも作ってみました。
<hr>
<% 
  'テストで開始時刻の表示
  Response.Write "開始:" & Now() & "<hr><br>"

 '範囲のチェックを行う
 If nPAGE < 50 Then '50以下の時リンクを作る
  'リンクを表示する、先頭ページのチェックpage=1だけは行う
  Response.Write "<b>" & nPAGE & "ページ</b> 表示中 -- "
  If nPAGE <> 1 Then  '1ページ以外かチェックする
    Response.Write "[<a Href='test082-1.asp?page=" & (nPAGE - 1) & "'>"
    Response.Write "前ページへ</a>]"
  Else
    Response.Write "[前ページへ]"  '押せないリンクじゃないけど、そのまま文字表示
  End IF
  
  '次ページは手抜きで+1を必ず表示する
  '(最終ページのチェックぐらいしろよコラ)すみません手抜きで・・・
  Response.Write "[<a Href='test082-1.asp?page=" & (nPAGE + 1) & "'>"
  Response.Write "次ページへ</a>]"

  Response.Write "<br>"
 End If

  'ADO DB Connection オブジェクトを作成
  Set db=Server.CreateObject("ADODB.Connection")
  db.Provider = "Microsoft.Jet.OLEDB.4.0"

  '接続DBの位置を渡し、DBオープン
  strDB = "cnt_etc.mdb"
  db.ConnectionString = Server.MapPath(strDB)
  db.open  'データベースをオープンする

  'お約束のレコードセットの作成 テーブル名logから全項目(*)を指定
  'ORDER BY WriteTime DESC で書き込み時刻の降順にする
  Set rs = db.Execute("Select * From log ORDER BY WriteTime DESC")

  'データの頭だし 芸無く空読みする
  nCNT = 1
  'EOFまでループ or データが(nPAGE-1)*20まで空読み
  Do While rs.EOF = False And nCNT <= (nPAGE-1) * 20 '.EOFがFalseで件数以下
    '次のレコードにポインタを移動する(何もしてないのに・・・(笑))
    rs.MoveNext    'これを忘れると悲惨なことに、、、
    'カウンタを増やす
    nCNT = nCNT + 1
  Loop

  'データの表示をテーブルで行う
  Response.Write "<TABLE Border='1'>"

  '見出しをバカっぽく、そのまま書き込む
  Response.Write "<TR>"
  Response.Write "<TH>NO.</TH>"
  Response.Write "<TH>日付</TH>"
  Response.Write "<TH>来てもらった場所</TH>"
  Response.Write "<TH>リンク元</TH>"
  Response.Write "</TR>"

  'EOFまでループ or nPAGE*20 件まで
  Do While rs.EOF = False And nCNT <= (nPAGE*20)  '.EOFがFalseで30以下の間
    Response.Write "<TR>"  '1行、1レコードの内容を表示する
    Response.Write "<TD>" & nCNT & "</TD>" 'カウンタ表示
    Response.Write "<TD>" & rs.Fields.Item("WriteTime") & "</TD>" '時刻

    '訪問場所の表示
    Response.Write "<TD><A HREF='" & rs.Fields.Item("URL") & "'>"
    Response.Write rs.Fields.Item("URL") & "</A></TD>"

    'リンク元の表示
    Response.Write "<TD><A HREF='" & rs.Fields.Item("referrer") & "'>"
    If Left(rs.Fields.Item("referrer"), 15) = "http://www.ken3" Then
       Response.Write Mid(rs.Fields.Item("referrer"), 20, 30) & "</A>...</TD>"
    Else
       Response.Write Left(rs.Fields.Item("referrer"), 30) & "</A>...</TD>"
    End If

    Response.Write "</TR>" & Chr(13) & Chr(10) 'データ表示終了(行の終わり)

    '次のレコードにポインタを移動する
    rs.MoveNext    'これを忘れると悲惨なことに、、、
    'カウンタを増やす
    nCNT = nCNT + 1
  Loop

  Response.Write "</TABLE>"  'テーブルは終わりです

  '開いていたレコードセットを閉じる
  rs.Close

  'データベースも閉じようよ
  db.Close

  'お行儀よくオブジェクトも開放しましょう(通常は自動的に解放されるけど)
  Set db = Nothing

  'テストで終了時刻の表示
  Response.Write "<hr>終了:" & Now() & "<hr>"
%>

こんな感じで、20単位で1ページを単純に管理してみました。<br>
えっ、手抜き処理が多いって?<br>
</body>
</html>

↑をテスト実行する→http://www.ken3.org/cgi-bin/test/test082-1.asp?page=5実行する


↑コードの三流解説は、
三流君ASP:ページ単位の表示にチャレンジしてみた
を見て、笑ってやってください。



ASPの解説 トップページは
三流君ASPで遊ぶ、失敗する
です。こちらもよろしく・・・



三流君へ メッセージを送る

全ての質問に答えることはできませんが、
ダメもとで、気軽に質問、感想、メッセージを送ってくださいね・・・

感想や質問・要望・苦情など 三流君へメッセージを送る。
下記のフォームからメッセージを送ることができます。


あなたのお名前(ニックネーム):さん
返信は?:

アドレス:に返事をもらいたい
感想や質問↓:


(感想や質問・要望・苦情はHPで記事に載せることがあります。)
例:[XXXXさんへ回答例]←みたいに回答していたり...


Ken3 ホームページ 目次

分類:HPを大きく分けると4つの柱(分類)です。
・[Excel/Access VBA]の解説
・[ASP(Active Server Pages)]の解説。
・[元コンビニ店長時代の話]が弟に巻き込まれ、失敗した脱サラ、畑違い?の仕事で失敗。
・[プログラマーの愚痴]では、あまり見せたくない三流プログラマーの内面かな。
三流君を踏み台にする
主に上記4つの分類でHP作成やメルマガの発行を行ってます。
※更新頻度が落ちていて情報の鮮度が悪いです。

三流解説動画の再生リスト
https://www.youtube.com/user/ken3video/playlists

本当に三流なんです(笑):たまにスゴイですねなんて言われることもありますが、
真実は→ [三流君の真実は...] ←を初めに見てくださるとわかると思います。
(からくりは、成功例↑しか載せてなくて ヒドイ失敗例はお蔵入り迷宮入りが多かったりします)