แบบทดสอบ2

การทำงานของแบบทดสอบแยกเป็นดังนี้

  • ส่วน 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


สงวนลิขสิทธิ์โดยอาจารย์ภาสกร เรืองรอง พศ.2546
htp://ww.ThaiWBI.com