インターネットの普及により、オンライン調査のほうがより良い結果が得られることがよくあります。興味深い質問アンケート掲示板を個人の Web サイトに設置すると、Web サイトに彩りを加えることができ、調査結果を通じて Web サイトに関するネチズンの意見をより正確に知ることができます。ウェブマスターとして、あなたの Web サイトでも特定のトピックに関する調査を実施する必要があり、他の人が無料で提供する調査掲示板を使用するのが嫌いな場合 (無料には広告などの料金がかかることがよくあります!)、10 分間時間を費やすことをお勧めします。 ASP を使用してアンケート掲示板を作成することを紹介するこの記事をお読みください。記事内のコードを自分のマシンにコピーし、わずかな変更を加えるだけで、すぐに自分専用のアンケートボードが完成します。さて、元気を出して下を向いてください。
このアンケート ボードには、アンケート質問の表示 (research.html)、ユーザー選択の処理 (select.asp)、およびアンケート結果の表示 (viewresult.asp) の 3 つのファイルがあります。設計上の考え方は次のとおりです。ASP はフォームから送信された情報を取得し、それに応じてアンケートの投票数を記録するデータベースを変更します。次に、ASP はデータベースを読み取り、アンケートの各質問の投票数を取得し、対応するバーを調整します。投票数に基づいたグラフ表示。アンケート結果は直感的かつ比例的に表示されます。プログラムの重要なポイントについてはさらに詳しくコメントしましたが、ここでは ASP の基礎知識には立ち入りません。読者はタオバ ASP コラムでそれを確認できます。もちろん、自分のサーバーでプログラムをデバッグするときに、何か理解できない場合は、身近にある ASP の技術マニュアルを参照して、オブジェクト、メソッド、または関数の詳細な構文を確認し、修正してみてください。そして結果がどのように変化するかを確認してください。これはプログラミングを学ぶのに最適な方法です。
1. アンケートの質問を表示する (research.html)
アンケートの質問のデザインは、実際の状況に基づいて、実用的または興味深いものにする必要があります。Web ページに表示されるスタイルは、シンプルまたは活発なものにすることができます。この例では、それはアバウトです。著者のホームページにある「21 世紀で最も重要なことは何ですか?」という興味深い調査です。問題を説明するために、次のコードでは美的変更のコードを省略しています。表やその他のテクニックを使用して、アンケートの質問を美しく表示します。ティにドラゴンを変えるために、ライ・タ・カエデは鼻の熊手を振って、テープが緩んだのを利用しましたか?
Researchindex.html:
< html >
<title>測量委員会のテスト</title>
<頭>
< !-- 開始: 新しいウィンドウを定義します -- >
<スクリプト言語=javascript>
< !--
var newWindow = null
functionOpenWindow(htmlmurl)
{
if (! newWindow || newWindow.closed)
{
新しいウィンドウ =
window.open(htmurl,"newwin","ツールバー = いいえ、resiza = いいえ、スクロールバー = いいえ、幅 = 400、高さ = 280");
}それ以外
{
newWindow.focus();
}
}
//-- >
</ /スクリプト >
<!-- end: 新しく開いたウィンドウを定義します-->
</ /頭>
<本文>
< !-- 開始: アンケートの質問、オプション -- >
< p >21世紀において最も重要なことは何だと思いますか? < /p >
< form method="POST" action="vote/select.asp" name="research" LANGUAGE="javascript"
onSubmit="OpenWindow()" target="newwin" >
< p align="左" >
< br >
< input type="radio" value="1" name="オプション" >知識 (知識は力です)< br >
< input type="radio" value="2" name="Options" >学歴(学会に終わりはない)< br >
< input type="radio" value="3" name="オプション" >お金(経済が基本)< br >
< input type="radio" value="4" name="Options" >愛(墓に入らない愛)< br >
< input type="radio" value="5" name="オプション" >理想 (理想とは何ですか)< br >
< input type="radio" value="6" name="Options" >民主主義意識(政治への関心)< br >
< input type="radio" value="7" name="Options" >科学的思想(科学と教育による国を元気にする)< br >
< input type="submit" value="submit" name="投票" >
< input type="button" value="View" name="viewing" onClick="OpenWindow(vote/viewresult.asp)" >
< /form>
< !-- 開始: アンケートの質問、オプション -- >
< /body >
< /html >
2. ユーザー選択の処理 (select.asp)
上記のアンケート オプションに基づいて、アンケートの投票を記録するデータベース Researchdb.mdb (Access を例にします) の設計を考え出します。テーブル名は Research です。データベースとテーブルが上記の名前で保存されていない場合は、後続の手順と操作でそれらを変更することを忘れないでください。
アンケート投票数を格納するテーブルリサーチ:
フィールド名 データ型 デフォルト値
ID自動番号1
選択 1 番号 0
選択 2 番号 0
選択 3 番号 0
セレクト4 ナンバー0
セレクト5 ナンバー0
セレクト6 ナンバー0
select7 番号 0
データベースを構築したら、サーバー上にデータ ソースを作成しましょう。まず、「コントロールパネル」で「ODBC」を実行し、「システムDSN」を選択して「追加」ボタンを押し、「Microsoft Access Driver」を選択し、選択後「完了」ボタンを押して、「データソース」をクリックします。 ODBC 設定。「名前」入力ボックスにデータベースの名前 (この場合は Researchdb) を入力し、「選択」ボタンを押してデータベース ファイルを選択します (設計したデータベースの場所を忘れてしまったということはありません)。存在します)を選択して「OK」を押すと、新しく作成されたデータソースresearchdbが表示されます。このようにして、ASP で呼び出すことができます。
select.asp:
< %
以下の if ステートメントは、selected が空かどうかを確認することで、ユーザーが選択したかどうかを判断します。
if request.form("options") < >Empty then
% >
< %
次の if ステートメントは、リクエストの 2 つのコレクション (ServerVariables と Cookie) の値を比較して、ユーザーが送信を押し続けて調査結果に影響を与えるのを防ぎます。
Request.ServerVariables("REMOTE_ADDR")=request.cookies("IPAddress") でない場合は、
訪問したお客様のIP情報をCookieに書き込む
response.cookies("IPAddress")=Request.ServerVariables("REMOTE_ADDR")
%>
<%
接続オブジェクトを確立し、調査結果を記録するデータベースを開きます。
set conn=server.createobject("ADODB.CONNECTION")
conn.open "リサーチデータベース"
% >
< %
変数を定義する
薄暗い
ディムSQL
薄暗く選択されています
selected=request.form("オプション")
Recordset オブジェクトを作成し、Open メソッドを使用してオブジェクトを開き、同時に対応するデータを変更します。
set rs=server.createobject("adodb.recordset")
データテーブル調査のデータを変更します。つまり、対応する投票数を 1 増やします。
sql="研究セットの更新 select"&selected&"=select"&selected&"+1 where id=1"
rs.open SQL,conn,3,3
レコード コレクション オブジェクトをメモリからクリアします
rs=何も設定しない
近い接続
接続閉じる
メモリから接続オブジェクトをクリアする
conn=何も設定しない
ページに接続して調査結果を閲覧する
応答.リダイレクト「viewresult.asp」
それ以外
Response.write "投票失敗のリマインダー: 投票しました。ご支援ありがとうございます。"
終了する場合
それ以外
Response.write "投票失敗プロンプト: 選択するのを忘れました!"
終了する場合
% >
3. 調査結果の参照 (viewresult.asp)
この例では、棒グラフを使用して調査結果を視覚的に表示し、オプションの投票数のパーセント値を総投票数に乗算します。 5 倍され、結果の値が棒として使用されます。 bar.gif 表示の幅 (一般的な画像ツールを使用して小さなグラデーション棒グラフを作成するか、オンラインでダウンロードできます)。得票率を小数点以下 2 桁で表すために、プログラムでは VBScript の丸め関数 Round が使用されます。見やすくするために、調査結果は図のように表に表示されます。テーブルのデザインは、以下のコードから省略されています。
viewresult.asp
<%
set conn=server.createobject("ADODB.CONNECTION")
conn.open "リサーチデータベース"
%>
<%
薄暗い
ディムSQL
ディムセレクト1
ディムセレクト2
ディムセレクト3
ディムセレクト4
ディムセレクト5
ディムセレクト6
ディムセレクト7
薄暗い合計
set rs=server.createobject("adodb.recordset")
sql="id=1 のリサーチから * を選択"
rs.open SQL,conn,1,1
合計=rs("選択1")+rs("選択2")+rs("選択3")+
_ rs("select4")+rs("select5")+rs("select6")+rs("select7")
投票の合計数が 0 かどうかを判断し、次の割り算が有効であることを確認します。
合計 > 0 の場合
select1=(rs("select1")/合計)*100
select2=(rs("select2")/合計)*100
select3=(rs("select3")/合計)*100
select4=(rs("select4")/合計)*100
select5=(rs("select5")/合計)*100
select6=(rs("select6")/合計)*100
select7=(rs("select7")/合計)*100
%>
< p > 現在のアンケート結果は以下の通りです。
<p>
◇知識:
< img src=bar.gif width=< %=int(select1*5)% > height=4 >
< %=rs("select1")% >期間: < %=round(select1,2)% >%< br >
◇教育:
< img src=bar.gif width=< %=int(select2*5)% > height=4 >
< %=rs("select2")% >期間: < %=round(select2,2)% >%< br >
◇お金:
< img src=bar.gif 幅=< %=int(select3)*5% > 高さ=4 >
< %=rs("select3")% >期間: < %=round(select3,2)% >%< br >
◇愛:
< img src=bar.gif 幅=< %=int(select4)*5% > 高さ=4 >
< %=rs("select4")% >期間: < %=round(select4,2)% >%< br >
◇理想:
< img src=bar.gif 幅=< %=int(select5)*5% > 高さ=4 >
< %=rs("select5")% >期間: < %=round(select5,2)% >%< br >
◇民主的意識:
< img src=bar.gif 幅=< %=int(select6)%*5 > 高さ=4 >
< %=rs("select6")% >期間: < %=round(select6,2)% >%< br >
◇科学的思考:
< img src=bar.gif 幅=< %=int(select7)%*5 > 高さ=4 >
< %=rs("select7")% >人: < %=round(select7,2)% >%< /p >
< p align="center" >すでに: < %=total% > 人がアンケートに参加しました< br >< br >
【< a href="javascript:window.close()" >ウィンドウを閉じる</a>】</p>
<p>
<%
それ以外
response.write "まだ誰もアンケートに参加していません"
終了する場合
rs.close
rs=何も設定しない
接続閉じる
conn=何も設定しない
%>
注:
上記のコードは、WindowsNT4.0 中国語 (パック 6)/IIS4.0 でデバッグされました。
ASP は以下の環境で実行できます。
1. Windows NT Server 4.0 / IIS3.0 以降 2. Windows NT WorkStation 4.0 / Microsoft Peer Web Service 3.0 以降 3. Windows 95/98 / Microsoft Personal Web Server 1.0a以上