用ASP開發一個線上考試程式(六)

來源:互聯網
上載者:User
程式|線上 測驗代碼
  Exam.asp 提供一系列的題目和以選項按鈕為格式的選項。為了使測驗更具挑戰性,還要有時間限制。我設定了一個裝載時自動啟動的時鐘,將其時間設為20秒。剩餘的時間在螢幕底部的狀態視窗中顯示。時間因素同題目個數一樣可以改變。為了在每次會員想要參加考試時,都從資料庫中選擇不同的題目,我使用了隨機函數。在資料庫中,題目的個數固定為10個,每次會員回答5個問題。所有的題目都一起顯示出來,然後開始計時。以下代碼是計時器的函數:
< script language="JavaScript" >
var ck=0;
var tf=0;
var timeUp=0;
var timeLeft=0;
var tcount=0;
TimerFunc();
function TimerFunc() {
tf=window.setTimeout("TimerFunc();",1000);
tcount++;
timeLeft=20 - tcount;
window.status = timeLeft + " Seconds remaining";
}
< /script >
  要注意,沒有時間限制的測驗是沒有樂趣的。
這頁的查詢是這樣的:
id = Request.QueryString ("section")
session("id") = id
sql_tblname = "select tbl_name from paper where id="&id
Set RS_tblname = Application("Conn").Execute(sql_tblname)
subject= RS_tblname(0)
MyString = Split(subject,"tbl",-1,1)
  查詢字串儲存在一個 session("id")中, 按順序啟動查詢。這個SQL聲明的目的是從試卷表格中找到表格名。使用split 函數的目的是從結果中去掉tbl。(我使用了表格名前加tbl首碼的命名慣例)。一旦找到了表格名,就開始了向指定表格的查詢。為了使應用程式更有意思,我使用了隨機函數,產生從1到10之間的任一數字。這些數字用來從指定的科目表格中選取id:
sql_details = "select a.id, a.question, a.choice1, a.choice2,a.choice3, " &_
" a.choice4 from " & subject & " a where a.id="&MyArray(Counter)
  在這個查詢中,id,question、 choice1、 choice2、 choice3、 choice4 都是科目表格中的網域名稱。
MyArray(Counter) 是已經產生的隨機數字。

  測驗結束後,結果被儲存起來並被增加到資料庫的細節表格中。這樣會員就能看到測驗的結果了。(在本例中,我只保留了科目的一個記錄和百分制的分數。還可以有一個時間-日期標誌。)



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.