![]() | ข้อสอบ สุ่มไม่ซ้ำ และ 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 / อาหารเสริม |