PHP Test การสร้างแบบทดสอบและบันทึกลงระบบฐานข้อมูล

 

        โปรแกรมสร้างแบบทดสอบสามารถ ตรวจคำตอบถูกผิด คำนวนคะแนน แสดงวันเวลาที่ทำ และบันทึกข้อมูลลง MySQL ได้

        โปรแกรมประกอบไปด้วย

  1. file html ที่เป็นส่วนกรอกข้อมูลลงไปหรือให้ค่าตัวแปรนั้นเอง
  2. file php ที่ทำหน้าที่ประมวลผล ติดต่อฐานข้อมูลและบันทึกข้อมูล

       1. file test1.html ซึ่งมีหน้าตาดังนี้

       สำหรับข้อมูลหรือ SourceCode ดังนี้

<html>
<head><title>แบบทดสอบก่อนเรียน</title></head>
<body>

<form method="POST" action="test3.php">
<h1>แบบทดสอบก่อนเรียนวิชาคอมพิวเตอร์เบื้องต้น</h1>

ชื่อ <input type="text" name="name">
ชั้น <input type="text" name="class">
โรงเรียน <input type="text" name="school"><p>

1. ข้อใดจัดเป็นหน่วยแสดงผล ? <br>
<input type="radio" name="test1" value="monitor"> ก. monitor<br>
<input type="radio" name="test1" value="keyboard">ข. keyboard<br>
<input type="radio" name="test1" value="mouse">ค. mouse<p>

2. ข้อใดจัดเป็นหน่วยรับข้อมูล ? <br>
<input type="radio" name="test2" value="monitor"> ก. monitor<br>
<input type="radio" name="test2" value="keyboard">ข. keyboard<br>
<input type="radio" name="test2" value="mouse">ค. mouse<p>
<input type="submit" ><input type="reset">

</form>
</body>
</html>

        2. file test3.php

        การทำงานของโปรแกรมจะเป็นขั้นตอนดังนี้

  1. ติดต่อโปรแกรมฐานข้อมูล MySQL
  2. ติดต่อฐานข้อมูล MySQL ชื่อ test
  3. เปิด ตารางชื่อ testcom และ เขตข้อมูลชื่อ name,class,school,today,time,score
  4. เพิ่มข้อมูลลง Database

        ตามที่ได้ระบายสีแดงไว้

<html>
<head><title>แบบทดสอบก่อนเรียนวิชาคอมพิวเตอร์เบื้องต้น</title>
</head>
<h1>ยินดีต้อนรับ </h1><br>
<?
$today=date("d-m-Y");
$time=date("h-i-s");
$score=0;

print "<b>คุณ</b> $name ";
print "<b>ชั้นเรียน</b> $class";
print "<b>โรงเรียน</b> $school<p>";
print "คำตอบแบบทดสอบก่อนเรียนวิชาคอมพิวเตอร์เบื้องต้นของคุณ $name <br>";
print "ในวันที่ $today เวลา $time คือ<p>";

print "<b>ข้อ1</b>. $test1<br>";
if ($test1=="monitor") {print"ถูกต้อง<img src=t.gif><p> "
; $score++;} else {print"ไม่ถูกต้อง <img src=f.gif><p>";}

print "<b>ข้อ2</b>. $test2<br>";
if ($test2=="keyboard") {print"ถูกต้อง<img src=t.gif><p>";
$score++;} else {print"ไม่ถูกต้อง <img src=f.gif><p>";}

print "<br> <img src=scor.jpg><br>ได้คะแนนเท่ากับ $score <p>";

//การบันทึกระบบฐานข้อมูล MySQL

//ติดต่อโปรแกรมฐานข้อมูล MySQL
              $link=mysql_connect("localhost","","");
              if (!$link)
              {
                         print("ERROR");
              }
                 else
              {
//ติดต่อฐานข้อมูล MySQL ชื่อ test
              mysql_select_db("test",$link);

//เปิด ตารางชื่อ testcom และ เขตข้อมูล ชื่อ name,class,school,today,time,score
               $sql="insert into testcom (name,class,school,today,time,score)
                        values ('$name','$class','$school','$today','$time','$score')";

//เพิ่มข้อมูลลง Database
               $res = mysql_query( $sql , $link );
               if ($res==1)
                   print("Adding to table OK.");
               else
                   print("Error Adding to table. ");
}

//เปิดดูข้อมูล

print "<br><a href=show1.php>เปิดดูข้อมูล</a>";
?>

</body>
</html>

หากพบข้อความ เตือน ใดๆ จะมีความหมายดังนี้

  • ERROR หมายถึงติดต่อฐานข้อมูลไม่ได้
  • Adding to table OK. หมายถึงติดต่อฐานข้อมูลได้และทำการเพิ่มข้อมูลลงตารางแล้ว
  • Error Adding to table หมายถึงติดต่อฐานข้อมูลได้แต่ไม่สามารถเพิ่มข้อมูลลงตารางได้

[ กลับสู่หน้าหลัก ]

ที่มา source code ส่วนระบบฐานข้อมูล:Thaidev.com
(ผู้เขียนนำมาปรับปรุงเพื่อใช้ในการเรียนการสอน ต้องขอขอบพระคุณ Thaidev.com มา ณ ที่นี้)

สงวนลิขสิทธิ์©: ThaiWBI.com. ผู้ช่วยศาสตราจารย์ ดร. ภาสกร เรืองรอง