แบบทดสอบ3

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

  • ส่วน html ได้แก่แบบทดสอบประเภทต่าง ๆ
  • ส่วน ASP ได้แก่ส่วนประมวลผลข้อสอบและบันทึกลงระบบฐานข้อมูล และส่วนอ่านและรายงานข้อมูล ซึ่งจะทำงานร่วมกับส่วน html
  • ส่วนฐานข้อมูล Access

1.ส่วน html
ขอยกตัวอย่างและแยกประเภทแบบทดสอบออกเป็นดังนี้

  • แบบเติมคำ Textbox
  • แบบเลือกตอบ Radio
  • แบบเลือกตอบ Pulldown

แบบเติมคำ Textbox
ตัวอย่าง File Test1.html

<font face="MS Sans Serif">

<!-คำสั่ง Form ให้จัดส่งไปข้อมูลไปประมวลผลที่ file test.asp->
<form action=test.asp method=post>

<!-Form ประเภท Textbox กำหนดตัวแปร รหัส ชื่อ นามสกุล->
รหัสนักเรียน<input type=text name=uid>
ชื่อ              <input type=text name=studentF>
นามสกุล      <input type=text name=studentL>

<!-Form ประเภท Hidden กำหนดตัวแปรแบบซ่อนเพื่อระบุประเภทแบบทดสอบ->
<input type=hidden name=q value=textbox>

<br>
ข้อ 1
<br>
5000+550 = ?
<br>

<!-Form ประเภท Textbox กำหนดตัวแปรคำตอบ->
<input type=text name=aws1>

<br>
<input type=submit >
<input type=reset>
</form>

แบบเลือกตอบ Radio
ตัวอย่าง File Test2.html

<font face="MS Sans Serif">

<!-คำสั่ง Form ให้จัดส่งไปข้อมูลไปประมวลผลที่ file test.asp->
<form action=test.asp method=post>

<!-Form ประเภท Textbox กำหนดตัวแปร รหัส ชื่อ นามสกุล->
รหัสนักเรียน<input type=text name=uid>
ชื่อ              <input type=text name=studentF>
นามสกุล      <input type=text name=studentL>

<!-Form ประเภท Hidden กำหนดตัวแปรแบบซ่อนเพื่อระบุประเภทแบบทดสอบ->
<input type=hidden name=q value=radio>

<br>
ข้อ 1
<br>

5000+550 = ?

<!-Form ประเภท Radio กำหนดตัวแปรคำตอบ->
<br><input type=radio name=aws1 value=5000> 5000
<br><input type=radio name=aws1 value=5550> 5550
<br><input type=radio name=aws1 value=5555> 5555

<br>
<input type=submit >
<input type=reset>

</form>

แบบเลือกตอบ Pulldown
ตัวอย่าง File Test3.html

<font face="MS Sans Serif">

<!-คำสั่ง Form ให้จัดส่งไปข้อมูลไปประมวลผลที่ file test.asp->
<form action=test.asp method=post>

<!-Form ประเภท Textbox กำหนดตัวแปร รหัส ชื่อ นามสกุล->
รหัสนักเรียน<input type=text name=uid>
ชื่อ              <input type=text name=studentF>
นามสกุล     <input type=text name=studentL>

<!-Form ประเภท Hidden กำหนดตัวแปรแบบซ่อนเพื่อระบุประเภทแบบทดสอบ->
<input type=hidden name=q value=pulldown>

<br>
ข้อ 1
<br>
5000+550 = ?

<br>

<!-Form ประเภท Select กำหนดตัวแปรคำตอบ->
<select name= aws1>
<option value=5000>5000
<option value=5550>5550
<option value=5555>5555
</select >

<br>
<input type=submit >
<input type=reset>

</form>

2. ส่วน ASP
ในส่วนนี้จะทำงานร่วมกับ Form html จากส่วนที่ 1 ซึ่งส่วนที่ 1 จะส่งข้อมูลมาให้ส่วนที่ 2 ASP เพื่อทำการประมวลผลข้อสอบและบันทึกลงระบบฐานข้อมูล

ส่วนประมวลผลและบันทึกลงระบบฐานข้อมูล
ตัวอย่าง File Test.aspl

<font face="MS Sans Serif">
คำตอบของคุณ

<%'คำสั่ง request.form เพื่อแสดงข้อมูลที่ได้จาก html form%>
<%=request.form("uid")%>
<%=request.form("studentF")%>
<%=request.form("studentL")%>
<br>

คือ <%=request.form("aws1")%>

<br>

<%'เงื่อนไข IF Then หากถูกต้องโปรแกรมจะทำงานหลัง Then และหากผิดทำงานหลัง else%>
<% if request.form("aws1")= "5550" then
response.write("ถูกต้องครับ")
else
response.write("ผิดครับ")
end if %>

<%'คำสั่ง request.form เพื่อแสดงข้อมูลที่ได้จาก html form%>
<br>ประเภทแบบทดสอบ <%=request.form("q")%>

<%
'ชุดคำสั่ง
createobject ให้ทำการเปิดฐานข้อมูล Access และกำหนดสถานที่จัดเก็บฐานข้อมูล
set connNews = server.createobject("ADODB.Connection")
connNews.open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/internetedu/db/data.mdb")

' กำหนดสถานที่ path จัดเก็บฐานข้อมูลใน server

'ชุดคำสั่ง sql เพื่อบันทึกข้อมูลลง Access
sql = "INSERT into student ( uid, studentF, studentL, aws1, describ ) SELECT "
sql = sql & " '" & request.form("uid") & "' as uid, "
sql = sql & " '" & request.form("studentF") & "' as studentF, "
sql = sql & " '" & request.form("studentL") & "' as studentL, "
sql = sql & " '" & request.form("aws1") & "' as aws1, "
sql = sql & " '" & request.form("q") & "' as describ; "
set rsArticles = connNews.Execute(sql)
connNews.close
set connNews = nothing
%>
<p>
<a href=showdata.asp>บันทึกข้อมูลแล้วดูข้อมูล</a>

ส่วนอ่านและรายงานข้อมูล
ตัวอย่าง File showdata.asp

<font face="MS Sans Serif">

<%
'ชุดคำสั่ง
createobject ให้ทำการเปิดฐานข้อมูล Access และกำหนดสถานที่จัดเก็บฐานข้อมูล
showall="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath("/internetedu/db/data.mdb")
Set rec = Server.CreateObject("ADODB.Recordset")

'ชุดคำสั่ง sql เพื่อเปิดข้อมูล Access โดยเปิดทุก field จาก table student
sql = "select * from student order by student.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>
<td><b>ประเภทแบบทดสอบ</b> </td>
</tr>

<%
i = 1
if Not rec.eof then rec.MoveFirst
do while Not rec.eof and i <= 100
%>
<tr>

<%'เปิด field จาก table student%>
<!--<td><% response.write( rec("id") )%> </td>-->
<td><% response.write( rec("uid") )%></td>
<td><% response.write( rec("studentF") )%></td>
<td><% response.write( rec("studentL") )%></td>
<td><% response.write( rec("aws1") )%></td>
<td><% response.write( rec("describ") )%></td>
</tr>
<%
rec.MoveNext
i = i + 1
loop
%>

</table>

<P>
<A HREF="index.html">[ กลับสู่หน้าหลัก ]</A>
</center>

3. ส่วนฐานข้อมูล Access ท่านสามารถ Download ได้ที่นี่ (ศึกษาการสร้างฐานข้อมูล Access ได้ที่นี่)

ผลการทดสอบ
ดังตัวอย่างงานด้านล่างนี้

  Test Brinkster Test Local  
ประเภท Textbox Textbox Source
ประเภท Radio Radio Source
ประเภท Pulldown Pulldown Source

File ASP ประมวลผลแบบทดสอบ

test.asp   Source
File ASP แสดงข้อมูล Showdata Showdata Source
File Database MS Access Database Database  


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