ข้อสอบ สุ่มไม่ซ้ำ และ javascript | ||
ANSWER CHECKING BY JAVASCRIPT ลักษณะ : สุ่มข้อสอบแบบไม่ซ้ำ และเฉลยทันทีด้วย javascript ทดสอบโปรแกรมที่ ชุดสอบเป็นข้าราชการส่วนท้องถิ่น (อบต.) หรือ http://www.pkorat.com/test/test.php
|
ข้อควรทราบ |
|
Source ของ php (อ่านแฟ้ม สุ่มตัวเลข และแสดงข้อสอบ พร้อมตรวจด้วย javascript) |
หลักการทำงาน
1. เปิดแฟ้ม แล้วอ่านข้อมูลเก็บลงอาเร์ทั้งหมด 2. สุ่มตัวเลข ไม่ให้มีการซ้ำกัน และไม่ติดกัน 3. นำเลขที่เลือกพิมพ์ข้อสอบ โดยรับค่าด้วย input 4. ใช้ javascript ช่วยในการตรวจ แล้วเฉลยทันที |
<body><font face="microsoft sans serif" size=0> ข้อสอบแบบสุ่ม ตอบแล้วทราบผลทันที ด้วย javascript<hr> <? # read file keep in array $cntrec = 0; $file = fopen("dquiz.txt","r"); while (!feof($file)) { $buffer = fgets($file,4096); if (ord($buffer) > 0) { $cntrec++; $keepr[$cntrec] = $buffer; } } # for random number srand((double)microtime()*1000000); for ($i=1 ; $i <= $cntrec;$i++) { # เดิมผมใช้ rand บรรทัดเดียว แต่เลขไม่ห่างกันมาก ก็เลยใช้ % ซึ่งหมายถึง mod ช่วย $q = rand(1,1000000) + rand(1,100000); $v = ($q % $cntrec) + 1; $found = 0; for ($j=1 ; $j < $i;$j++) { if ($r[$j] == $v) { $found = 1;} } if ($found == 1) { $i--; } else { $r[$i] = $v; } } # for choose and print the question for ($i=1 ; $i <= $cntrec;$i++) { $k = split (":",$keepr[$r[$i]]); echo "$i. <b>$k[1]</b> [$k[0]]<br>"; echo "<input type=radio onclick=ok("; if ($k[6] == 1) { echo "1"; } else { echo "0"; } echo ")>",$k[2],"<br>"; echo "<input type=radio onclick=ok("; if ($k[6] == 2) { echo "1"; } else { echo "0"; } echo ")>",$k[3],"<br>"; echo "<input type=radio onclick=ok("; if ($k[6] == 3) { echo "1"; } else { echo "0"; } echo ")>",$k[4],"<br>"; echo "<input type=radio onclick=ok("; if ($k[6] == 4) { echo "1"; } else { echo "0"; } echo ")>",$k[5],"<br>"; echo "<hr noshade width=50% color=red>"; } ?> </body> <script language=JavaScript> <!-- function ok(value) { if (value == "1") { alert('Right ถูกครับ ดีใจด้วย ลองทำข้อต่อไปนะครับ'); } else { alert('Wrong ผิดครับ เสียใจด้วย ถ้าให้คิดใหม่ท่านว่าข้อใดถูก'); } } //--> </script> |
ผลจากการ run โปรแกรม dquiz.php (จะได้ผลลัพธ์ในรูป html ซึ่งใช้หลักการของ input และ javascript ตรวจคำตอบ) |
ตัวอย่างหน้าตาของผลลัพธ์ 1. ดาวของพระเจ้ามีกี่แฉก [qg002] 4 5 6 7 2. ant แปลว่าอะไร [qg004] มด ช้าง ไก่ หนู 3. superman มาจากดาวอะไร [qg005] crystal ดวงจันทร์ ดาวอังคาร ดาวแดง 4. สุนัขทั่วไปมีกี่ขา [qg001] 1 2 3 4 5. ดาวของซาตานมีกี่แฉก [qg003] 4 5 6 7 |
<body> 1. <b>ดาวของพระเจ้ามีกี่แฉก</b> [qg002]<br> <input type=radio onclick=ok(0)>4<br> <input type=radio onclick=ok(1)>5<br> <input type=radio onclick=ok(0)>6<br> <input type=radio onclick=ok(0)>7<br> <hr noshade width=50% color=red> 2. <b>ant แปลว่าอะไร</b> [qg004]<br> <input type=radio onclick=ok(1)>มด<br> <input type=radio onclick=ok(0)>ช้าง<br> <input type=radio onclick=ok(0)>ไก่<br> <input type=radio onclick=ok(0)>หนู<br> <hr noshade width=50% color=red> 3. <b>superman มาจากดาวอะไร</b> [qg005] <br><input type=radio onclick=ok(1)>crystal<br> <input type=radio onclick=ok(0)>ดวงจันทร์<br> <input type=radio onclick=ok(0)>ดาวอังคาร<br> <input type=radio onclick=ok(0)>ดาวแดง<br> <hr noshade width=50% color=red> 4. <b>สุนัขทั่วไปมีกี่ขา</b> [qg001]<br> <input type=radio onclick=ok(0)>1<br> <input type=radio onclick=ok(0)>2<br> <input type=radio onclick=ok(0)>3<br> <input type=radio onclick=ok(1)>4<br> <hr noshade width=50% color=red> 5. <b>ดาวของซาตานมีกี่แฉก</b> [qg003]<br> <input type=radio onclick=ok(0)>4<br> <input type=radio onclick=ok(0)>5<br> <input type=radio onclick=ok(1)>6<br> <input type=radio onclick=ok(0)>7<br> <hr noshade width=50% color=red> </body> <script language=JavaScript> <!-- function ok(value) { if (value == "1") { alert('Right ถูกครับ ดีใจด้วย ลองทำข้อต่อไปนะครับ'); } else { alert('Wrong ผิดครับ เสียใจด้วย ถ้าให้คิดใหม่ท่านว่าข้อใดถูก'); } } //--> </script> |
แบบฝึกหัด |
|
ยินดีรับ ผู้สนับสนุน เว็บไซต์ด้านการศึกษา
กลุ่มเว็บไซต์นี้ เริ่มพัฒนา พ.ศ.2542 โดยบุคลากรทางการศึกษาด้านคอมพิวเตอร์ โทร. 081-9927223 (ผมเป็นคนลำปางหนา) ปล. ขอไม่รับ work at home / อาหารเสริม |