人人做人人澡人人爽欧美,国产主播一区二区,久久久精品五月天,羞羞视频在线观看免费

當前位置:蘿卜系統下載站 > 技術開發教程 > 詳細頁面

本文教你做在線調查(二)

本文教你做在線調查(二)

更新時間:2021-01-16 文章作者:未知 信息來源:網絡 閱讀次數:

續上篇
上一篇中我們已經分析了在線調查的功能,數據庫結構以及所要用到的一些
函數。這一篇的主要任務就是文件的設計。設計出要有多少個文件來構成這個在線
調查,每個文件又分擔什么任務。并寫出這些文件的主要流程,以方便后面的代碼編
寫。

一、文件設計
按照傳統的思路,我們總是把在線調查設計成三個部份,一是顯示調查表;二
是顯示調查統計結果;三是后臺管理。而在實際應用中,我們會發現,顯示調查表
往往是在某個網頁中的,顯示結果一般也是彈出一個窗口來。后臺管理則是通過另一
個鏈接或者登錄表單轉向到的。為了更方便地使用在線調查,我們把顯示調查表部分
寫成一個JS腳本,讓需要顯示調查表的網頁通過引用腳本的方式來自由地調用它。好,
看看文件設計
1、inc.asp 包含文件。主要的函數庫
2、surveycode.asp 顯示調查表程序。在主網頁中使用腳本來調用它。
3、survey.asp 調查表列表程序。列出所有調查的狀態。
4、survey_vote.asp 顯示調查統計結果程序。帶上參數表示調查的問題。
5、survey_manage.asp 管理程序。

在這里,我們略過了頁面設計,因為風格設計不是我們所要說的內容,所以關于網
頁的風格,布局,CSS 等等,請大家自己設計。

二、文件流程
先寫出程序的主要流程,可以比較方便于日后修改和擴展、移植。在這里比較重要的
是要在程序中寫哪些子程序,如何安排這些子程序。

1、surveycode.asp 顯示調查表單
<%
'獲取querystring參數,id 表示調查編號
'判斷參數正確性
'判斷調查是否在有效期中。
'讀取調查問題、類型
'輸出調查答案,并生成調查表單
'關閉數據庫及表
%>


2、survey.asp 顯示所有調查狀態
<%
'讀取數據庫
%>
<html>
'顯示所有調查狀態,并加入鏈接
</html>


3、survey_vote.asp 顯示統計結果。
這里有兩個功能,一是沒有提交的顯示,二是提交了答案后進行統計,然后顯示
結果。如果不帶參數,就是第一種方式。也可以分為兩個文件來完成。
<%
'獲取參數。id 表示調查編號 所有數據來自form
'判斷是否有參數,有則先進行統計
'沒有則直接顯示
'統計子程序
%>
<html>
'顯示子程序
</html>


4、survey_manage.asp 管理程序。
管理部份比較復雜,要實現較多的功能。先來列一下管理的功能:
1)管理員登錄。只有登錄后才能進行管理
2)退出登錄。完成管理后安全退出。
對調查的管理有:
3)增加一個調查。同時要增加調查答案
4)修改一個調查。修改內容,時間,類型,調查答案的內容、增加、刪除
5)刪除一個調查。不能刪除正在進行的調查。

針對這些功能,來設計它的流程
<%
'獲取參數。action表示動作,分別對應上面的功能。
'根據動作來轉向相應的子程序
'登錄子程序
'退出登錄子程序
'執行增加調查問題子程序
'執行增加調查答案子程序
'執行修改調查子程序 問題和答案一起修改
'執行刪除調查問題子程序
'執行刪除調查答案子程序
<html>
<%
'判斷是否登錄,沒有則顯示登錄表單
'根據動作顯示相應表單
'顯示所有調查子程序
'顯示單個調查子程序。問題和答案一起顯示
'顯示增加調查子程序。
'顯示登錄表單
%>
</html>


三、代碼編寫
做好了流程設計后,寫代碼就比較有條理了。讓我們從簡單的開始。在編寫代碼
之前,我們要先在數據庫里輸入一些記錄,以便做測試。先加入一條調查問題,和幾個
調查答案,并手工輸入一些統計信息。
我們先來寫顯示調查表單的surveycode.asp 這個文件要在其它頁面中被調用,
所以我們寫成JS和VBS混用的方式。調用的時候可以把它放在某個表格中,用下面的語句:
<SCRIPT Language="JavaScript" SRC="surveycode.asp?id=1"></SCRIPT>

按照上面的流程,在顯示表單前,先要判斷一下調查是否存在,是否在進行中。另外,
在表單中要提交一個隱藏的參數,來表示調查的問題編號(id),答案提交的時候,提交的
是答案的編號vote_no
文件名 surveycode.asp
<!--#include file="inc.asp" -->
<%
id=request.querystring("id")
if id<>"" then '如果有參數
opendb my '聯接數據庫
sql="select * from survey where survey_id="& id '查詢語句
searchtable my,sql,rs '查詢數據庫
if not rs.eof then '如果有這個調查記錄
question=rs("survey_question") '讀出問題
surveytype=rs("survey_type") '讀出答案類型
stime=rs("survey_stime") '讀出開始時間
etime=rs("survey_etime") '讀出結束時間
closetable rs '關閉表
if stime<now() and etime>now() then '如果調查正在進行中
'下面輸出調查表單
'先輸出表單和問題,表單提交到survey_vote.asp
%>
document.write("<form action='survey_vote.asp' target='_blank' method='post'>");
document.write("<table border='1' cellpadding='2' cellspacing=0' bordercolorligh='#000000'");
document.write(" bordercolordark='#ffffff' width='100%' align='center'><tbody>");
document.write("<tr><td colspan='2' align='center'><b><%=server.htmlencode(question)%></b></td></tr>");
<%
sql="select vote_no,vote_answer from survey_vote where vote_id="&id '查詢答案的SQL
searchtable my,sql,rs '執行查詢
if not rs.eof then '如果有答案,就輸出
for i=1 to rs.recordcount
%>
document.write("<tr><td align='right'><input name='res' type='");
<%
if surveytype then '判斷類型,顯示單選或者多選
%>
document.write("checkbox");
<%else%>
document.write("radio");
<%end if '下面這句輸出答案的文字和提交的值(vote_no)%>
document.write("' value=<%=rs("vote_no")%>></td><td><%=rs("vote_answer")%></td></tr>");
<%
rs.movenext
next
'下面幾句輸出一個隱藏的參數,傳遞問題編號(id)
'并用一個JS函數來定義點擊查看后的鏈接
%>
document.write("<tr><td colspan='2' align='center'><input type='hidden' name='id' value='<%=id%>'>");
document.write("<input type='submit' class=button value='投票'>&nbsp;");
document.write("<input type=button class=button value='查看' onclick='jump(<%=id%>)'>");
document.write("</td></tr></tbody></form>");
function jump(id){
window.open("survey_vote.asp?id="+id,"survey")
}
<%
end if
end if
end if
closetable rs
closedb my
end if
%>


在surveycode.asp完成后,我們實現上已經確定了以下幾點:
1、在survey_vote.asp中,如果querystring參數id有值,則是查看結果;
2、在survey_vote.asp中,如果form參數id有值,則要先進行統計;
3、在survey_vote.asp中,提交來的form參數res是答案的編號vote_no;

好,到這里我們已經完成了顯示調查表單的部份;下面一篇我們將完成其它的部份。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

網站地圖xml | 網站地圖html
主站蜘蛛池模板: 曲阳县| 漳平市| 舒兰市| 舞阳县| 利津县| 永仁县| 翁牛特旗| 集贤县| 乐平市| 罗江县| 买车| 历史| 定陶县| 泸西县| 平潭县| 达拉特旗| 台南市| 聂拉木县| 邢台县| 长岛县| 林芝县| 宁都县| 思茅市| 卢龙县| 鄱阳县| 宿州市| 汪清县| 宜都市| 濮阳县| 屏东市| 石屏县| 壤塘县| 沁源县| 周口市| 额尔古纳市| 米脂县| 游戏| 文水县| 土默特左旗| 平果县| 民权县|