การทำงานของแบบทดสอบแยกเป็นดังนี้
- ส่วน html ได้แก่แบบทดสอบแบบเลือกตอบ
- ส่วน ASP ได้แก่ส่วนประมวลผลข้อสอบซึ่งจะทำงานร่วมกับส่วน
html และทำการบันทึกข้อมูลลงระบบฐานข้อมูล
- ส่วนฐานข้อมูล Access
1.ส่วน html
ขอยกตัวอย่างแบบทดสอบชนิดเลือกตอบ Radio ดังนี้
ตัวอย่าง File Testsec.html
<font face="MS Sans
Serif">
<!-คำสั่ง
Form ให้จัดส่งไปข้อมูลไปประมวลผลที่ file quizdata.asp->
<form action=quizdata.asp method=post>
<!-Form
ประเภท Hidden กำหนดตัวแปรแบบซ่อนเพื่อระบุประเภทแบบทดสอบ->
<input type=hidden name=typeQ value=วิชาสังคมศึกษา>
<!-Form
ประเภท Textbox กำหนดตัวแปร รหัส ชื่อ นามสกุล->
รหัสนักศึกษา<input type=text
name=uid>
ชื่อ/นามสกุล<input type=text name=nameFL><p>
<!-Form
ประเภท Radio กำหนดตัวแปร คำตอบ->
ข้อ 1 จังหวัดพิษณุโลกมีชื่อเรียกอีกอย่างหนึ่งว่า ?<p>
<input type=radio name=aws1 value=เมืองสองแคว> เมืองสองแคว<br>
<input type=radio name=aws1 value=เมืองสามแคว> เมืองสามแคว<br>
<input type=radio name=aws1 value=เมืองสี่แคว> เมืองสี่แคว<p>
<input type=submit >
<input type=reset>
</form>
|
2. ส่วน ASP
ในส่วนนี้จะทำงานร่วมกับ Form html จากส่วนที่ 1 ซึ่งส่วนที่ 1 จะส่งข้อมูลมาให้ส่วนที่
2 ASP เพื่อทำการประมวลผลข้อสอบและบันทึกลงระบบฐานข้อมูล
ตัวอย่าง File quizdata.asp
<font face="MS Sans Serif">
<%'กำหนดคะแนนตั้งต้น%>
<%score=0%>
<%'ส่วนแสดงข้อมูลที่ได้รับจาก html form ประเภทแบบทดสอบ รหัส ชื่อ คำตอบ%>
คำตอบแบบทดสอบวิชา<b><%=request.form("typeQ")%></b><br>
ของนักศึกษารหัส <b><%=request.form("uid")%></b>
ชื่อ/นามสกุล <b><%=request.form("nameFL")%></b><br>
ข้อ 1 คือ <b><%=request.form("aws1")%></b><br>
<%'ส่วนประมวลผลเปรียบเทียบข้อถูกและผิด หากถูกจะได้คะแนน%>
<% if request.form("aws1")= "เมืองสองแคว" then
response.write("ถูกต้องครับ")
score=score+1
response.write("ได้"& score &"คะแนน")
else
response.write("ได้"& score &"คะแนน")
response.write("ผิดครับ")
end if %>
<%'ส่วนบันทึกลงฐานข้อมูล%>
<%'ส่วนกำหนด Path ฐานข้อมูล%>
<%'เช่น /quiz/data.mdb หมายถึงข้อมูล Access จัดเก็บใน Folder quize ชื่อ data.mdb%>
<%
set connNews = server.createobject("ADODB.Connection")
connNews.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/internetedu/db/data.mdb")
sql = "INSERT into studenttest ( uid, nameFL, score, typeQ ) SELECT "
sql = sql & " '" & request.form("uid") & "' as uid, "
sql = sql & " '" & request.form("nameFL") & "' as nameFL, "
sql = sql & " '" & score & "' as score, "
sql = sql & " '" & request.form("typeQ") & "' as typeQ; "
set rsArticles = connNews.Execute(sql)
connNews.close
set connNews = nothing
%>
<p>
<a href=showquiz.asp>บันทึกข้อมูลแล้วดูข้อมูล</a>
|
ตัวอย่าง file showdata เป็นตัวอย่างการแสดงข้อมูลการทำแบบทดสอบจากระบบฐานข้อมูล
MS Access
ตัวอย่าง File showquiz.asp
<font face="MS Sans Serif">
<%
showall="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/internetedu/db/data.mdb")
Set rec = Server.CreateObject("ADODB.Recordset")
sql = "select * from studenttest order by studenttest.id DESC;"
rec.Open sql, showall
%>
<center>
<table border=1>
<tr>
<!--<td><b><ลำดับที่</b></td>-->
<td><b>รหัส</b> </td>
<td><b>ชื่อ นามสกุล</b></td>
<td><b>คะแนน</b> </td>
<td><b>วิชา</b> </td>
</tr>
<%
i = 1
if Not rec.eof then rec.MoveFirst
do while Not rec.eof and i <= 100
%>
<tr>
<!--<td><% response.write( rec("id") )%> </td>-->
<td><% response.write( rec("uid") )%></td>
<td><% response.write( rec("nameFL") )%></td>
<td><% response.write( rec("score") )%></td>
<td><% response.write( rec("typeQ") )%></td>
</tr>
<%
rec.MoveNext
i = i + 1
loop
%>
</table>
<P>
<A HREF="index.html">[ กลับสู่หน้าหลัก ]</A>
</center>
|
3. ส่วนฐานข้อมูล Access
ท่านสามารถ Download ได้ที่นี่ (ศึกษาการสร้างฐานข้อมูล
Access ได้ที่นี่)
ผลการทดสอบ
ดังตัวอย่างงานด้านล่างนี้
Testsec.html
showquiz.asp
|