Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > การ Random ข้อสอบ กำลังทำ Elearning อยู่ค่ะ Random ข้อสอบได้แล้วค่ะ



 

การ Random ข้อสอบ กำลังทำ Elearning อยู่ค่ะ Random ข้อสอบได้แล้วค่ะ

 



Topic : 027941



โพสกระทู้ ( 152 )
บทความ ( 0 )



สถานะออฟไลน์




กำลังทำ Elearning อยู่ค่ะ Random ข้อสอบได้แล้วค่ะ
แต่พอเวลาตรวจคำตอบมันกลับเฉลยข้อสอบไม่ตรงกับที่เราตอบไปอ่ะค่ะ

Code หน้าRandom

<?
$link=mysql_connect("localhost","root","14291530");
mysql_query("Use Examination;");
mysql_query("SET NAMES tis620");
mysql_query("SET collection_connection='tis620_thai_ci'");

$sql="Select * From examdata Where no between 1 and 80 ORDER BY RAND() LIMIT 0,10 ;";
$result=mysql_query($sql);
mysql_db_query($dbname,"SET NAMES tis620");
?>
<form action= "exam_check.php" method= "post">

<?

while($dbarr=mysql_fetch_array($result))


{
$no=$dbarr['no'];
$question=$dbarr['question'];
$choice1=$dbarr['choice1'];
$choice2=$dbarr['choice2'];
$choice3=$dbarr['choice3'];
$choice4=$dbarr['choice4'];

echo "<b> ข้อที่ $no.$question ? </b><br> \n";
echo "<input type=Radio name=q$no value=A>$choice1<br>\n";
echo "<input type=Radio name=q$no value=B>$choice2<br>\n";
echo "<input type=Radio name=q$no value=C>$choice3<br>\n";
echo "<input type=Radio name=q$no value=D>$choice4<br>\n";

}
?>



<input type="submit" name="submit" value="ส่งคำตอบ" style="position:absolute;left:228px;top:8598px;width:96px;height:25px;font-family:Arial;font-size:13px;z-index:3">
<input type="reset" name="reset" value="ยกเลิก" style="position:absolute;left:396px;top:8598px;width:96px;height:25px;font-family:Arial;font-size:13px;z-index:4">
</form>

<?
mysql_close($link);
?>

code หน้าตรวจคำตอบค่ะ

<?
$link=mysql_connect("localhost","root","14291530");
mysql_query("Use Examination;");
mysql_query("SET NAMES tis620");
mysql_query("SET collection_connection='tis620_thai_ci'");
$sql="Select * From examdata ;";
//$sql="Select * From examdata Where no='$no'";
$result=mysql_query($sql);
mysql_db_query($dbname,"SET NAMES tis620");
$sum = 0; // กำหนดตัวแปรเก็บค่าผลรวมคะแนนให้เป็น 0
$count = 0; //กำหนดตัวแปรเก็บค่าจำนวนข้อทั้งหมดให้เป็น 0
while ($dbarr = mysql_fetch_array($result))
{
$no=$dbarr['no'];
$index="q$no";
$ans=$dbarr['answer'];
//ตรวจสอบว่าตัวเลือกในแต่ละข้อว่าหรือไม่ (มีการตอบหรือไม่)
// ถ้าว่างจริงหมายความว่าไม่ได้เลือกตอบเลยใน 4 ข้อ
if (empty($_POST[$index]))

{
echo "ข้อที่ $no. คุณไม่ได้ตอบ เฉลย คือ $ans <br>";
$_POST[$index] ="";
$count++;
}
else //ถ้าไม่ว่าหมายความว่าได้เลือกตอบข้อใดข้อหนึ่งใน 4 ตัวเลือก
{

echo " ข้อที่ $no. ตอบ $_POST[$index] เฉลย คือ $ans <br>";
$count++;
}

if ($_POST[$index] == $ans) //ตรวจสอบคำตอบกับเฉลยว่าตรงกันหรือไม่
{
$sum++; // ถ้าคำตอบตรงกับเฉลยบวกเพิ่มคะแนนขึ้น 1
}
}
echo "<hr>";
echo "<br> สรุปคะแนนที่ได้ $sum/$count </b>";
//พิมพ์สรุปคะแนนที่ได้ต่อจำนวนข้อทั้งหมด
mysql_close($link);

?></form>

ช่วยหน่อยนะค่ะใกล้จะส่งแล้วยังทำไม่ได้เลยคร้า กลัวไม่จบอ่ะ
ช่วยหน่อยนะค่ะ ขอบคุณค่ะ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-06-03 14:02:32 By : Nicorobin View : 2407 Reply : 6
 

 

No. 1



โพสกระทู้ ( 1,463 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger

if (empty($_POST[$index]))
{
echo "ข้อที่ $no. คุณไม่ได้ตอบ เฉลย คือ $ans <br>";
$_POST[$index] ="";
$count++;
}
else //ถ้าไม่ว่าหมายความว่าได้เลือกตอบข้อใดข้อหนึ่งใน 4 ตัวเลือก
{

echo " ข้อที่ $no. ตอบ $_POST[$index] เฉลย คือ $ans <br>";
$count++;

if ($_POST[$index] == $ans) //ตรวจสอบคำตอบกับเฉลยว่าตรงกันหรือไม่
{
$sum++; // ถ้าคำตอบตรงกับเฉลยบวกเพิ่มคะแนนขึ้น 1
}


}

ย้ายตำแหน่งหน่อยครับ

แต่ก็ยังไม่รู้ว่าใช่ตัวปัญหาหรือเปล่า

ปัญหาเป็นไงครับ อย่างเช่น คะแนนเกิน, คะแนนน้อยกว่าปกติ, หรือแสดงว่าได้คะแนนทั้งที่ไม่ได้ตอบ, แสดงว่าได้คะแนนทั้งที่ตอบผิด ฯลฯ






Date : 2009-06-03 15:28:56 By : num
 


 

No. 2



โพสกระทู้ ( 152 )
บทความ ( 0 )



สถานะออฟไลน์


คืองี้ค่ะหน้าคำตอบเนี่ยมันไม่ยอมตอบข้อที่สุ่มมาจากหน้าคำถามค่ะ
เช่น หน้าสอบมีข้อสอบ 1,5,3,7,9,11
แต่เมื่อเราคลิกปุ่มตรวจสอบแล้วเนี่ย หน้าคำตอบก็จะตอบมา
ข้อที่ 2 คุณไม่ได้ตอบ
ข้อที่ 10 คุณไม่ได้ตอบ
ข้อที่ 5 คุณตอบถูกเลยคือ
มันประมาณเนี่ยอ่ะค่ะ
ยังไงช่วยดูหน่อยนะค่ะ ไม่รู้จะทำยังไงแล้วค่ะขอบคุณมาก ๆ ค่ะ
Date : 2009-06-03 15:43:50 By : Nicorobin
 

 

No. 3



โพสกระทู้ ( 1,463 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Blogger

ปัญหาคือถ้าไม่เลือก radiobox ตัวใดตัวหนึ่งมันจะไม่ส่ง q$no ไปครับ
ลองทำตามนี้ครับ

หน้าแสดงข้อสอบ
echo "<b> ข้อที่ $no.$question ? </b><br> \n";
echo "<input type=Radio name=q$no value=A>$choice1<br>\n";
echo "<input type=Radio name=q$no value=B>$choice2<br>\n";
echo "<input type=Radio name=q$no value=C>$choice3<br>\n";
echo "<input type=Radio name=q$no value=D>$choice4<br>\n";
echo "<input type=Radio name=q$no value=E checked style='display:none'><br>\n";
//สร้าง default radio ที่ถูกเช็คแบบซ่อน

............................................

หน้าตรวจคำตอบ
while ($dbarr = mysql_fetch_array($result))
{
$no=$dbarr['no'];
$index="q$no";
$ans=$dbarr['answer'];
//ตรวจสอบว่าตัวเลือกในแต่ละข้อว่าหรือไม่ (มีการตอบหรือไม่)
// ถ้าว่างจริงหมายความว่าไม่ได้เลือกตอบเลยใน 4 ข้อ
if (!empty($_POST[$index])) //.........ถ้า empty แสดงว่าข้อสอบข้อนั้นไม่ถูกแสดง
{
if ($_POST[$index]=='E'){ //..........ถ้า เท่ากับ E แสดงว่าผู้สอบไม่ได้ตอบข้อสอบข้อนั้น
echo "ข้อที่ $no. คุณไม่ได้ตอบ เฉลย คือ $ans <br>";
$_POST[$index] ="";
$count++;
}else{
echo " ข้อที่ $no. ตอบ $_POST[$index] เฉลย คือ $ans <br>";
$count++;
}
if ($_POST[$index] == $ans) //ตรวจสอบคำตอบกับเฉลยว่าตรงกันหรือไม่
{
$sum++; // ถ้าคำตอบตรงกับเฉลยบวกเพิ่มคะแนนขึ้น 1
}
}
}

Date : 2009-06-03 16:02:55 By : num
 


 

No. 4



โพสกระทู้ ( 91 )
บทความ ( 0 )



สถานะออฟไลน์


มันจะไม่ตรงคำตอบจะต้องเอา no มาเช็คก่อนว่า เค้าได้ข้อไหน แล้วถึงจะแสดง เฉลย


ว่าโค้ด ในหน้า ตรวจคำตอบมัน ผิดๆ อยู่นะ

คุณจะต้องเอา q$no ตัด q ออก แล้วเอา $no ไปเช็ค เปรียบเทียบกับข้อมูลใน database ว่าเฉลยมันคืออะไร แล้วถึงแสดงผล ในตอนเปรียบเทียบ จะต้อง วนลูปด้วยนะ พอ ดึงเอา ข้อมูลจากใน database มา 1 ตัว ก็วน หาคำตอบก่อนว่า $no กับ no เท่ากันหรือไม่ ถ้าตรงกันแล้วก็ค่อยเช็คคำตอบ

ส่วนข้อมูลที่เช็คว่า ว่างหรือไม่ว่าง นั้น ควรวนลูบเช็คด้วย เพราะ ข้อมูล มันส่งมา หลายตัว

ไม่รู้จะช่วยได้เปล่า หรือช่วยให้ งง
Date : 2009-06-03 16:03:37 By : ail2geal2
 


 

No. 5



โพสกระทู้ ( 152 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณทุก ๆ คนเลยค่ะที่เข้ามาตอบจะลองไปทำดูนะค่ะ
Date : 2009-06-03 16:09:54 By : Nicorobin
 


 

No. 6



โพสกระทู้ ( 61 )
บทความ ( 0 )



สถานะออฟไลน์


@ nicorobin ขอ บ้าง ได้ ป่าวคะ แบบทำข้อสอบออนไลน์ พอดี ต้องทำโปรเจ็ค เช่น กัน ค่ะ [email protected]
Date : 2010-10-11 22:45:30 By : ninjaKMU
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การ Random ข้อสอบ กำลังทำ Elearning อยู่ค่ะ Random ข้อสอบได้แล้วค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่