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,027

HOME > PHP > PHP Forum > รบกวนดู Code การทำข้อสอบออนไลน์ให้หน่อยค่ะ มีปัญหาในการเก็บคะแนนคะ ไม่สามารถเก็บคะแนนได้ค่ะ



 

รบกวนดู Code การทำข้อสอบออนไลน์ให้หน่อยค่ะ มีปัญหาในการเก็บคะแนนคะ ไม่สามารถเก็บคะแนนได้ค่ะ

 



Topic : 119855



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



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




สอบถามเรื่องการทำข้อสอบออนไลน์ค่ะ โดยมีตารางเก็บข้อมูลดังนี้ค่ะ

1.ตารางเก็บคำถาม-คำตอบแบบ 5 ตัวเลือก

01

2. ตารางเก็บคำถาม-คำตอบ แบบข้อสอบถูก-ผิด

02

3. ตารางเก็บคะแนน

03

**โดย score เก็บคะแนนในแบบคำถาม-คำตอบแบบ 5 ตัวเลือก
score2 เก็บคะแนนในแบบคำถาม-คำตอบ แบบข้อสอบถูก-ผิด

ตอนแสดงผลจะดึงข้อมูลคำถาม-คำตอบของทั้ง 2 ตารางมาแสดง

04


******แต่ปัญหามีอยู่ว่า ไม่สามารถเก็บข้อมูลคะแนนใน score2 เก็บคะแนนในแบบคำถาม-คำตอบ แบบข้อสอบถูก-ผิดได้ค่ะ รบกวนดู Code ให้หน่อยนะคะ

หน้าแสดงข้อมูลคำถาม-คำตอบ

Code (PHP)
<form name="form1" method="post" action="send_score.php?qs_id=<?=$objResult2['question_set_id'];?>"">
<?

$sql="Select * From question q, question_set qs WHERE q.question_set_id=qs.question_set_id and q.question_set_id='".$_GET['id']."' order by rand()";
$db_query=mysql_query($sql);
$i=0;
while($result=mysql_fetch_array($db_query))
{
$i++;
?><br/>
<table width="95%" border="0" align="center">
<tr>
  <td align="left"><b><?=$i;?><input name="id[<?=$i;?>]" type="hidden" value="<?=$result["question_id"];?>">
    <?=$result["question_name"];?></b></td>
</tr>
<tr>
<td width="14%"> <input name="choice<?=$i;?>" type="radio" value="1">
  <?=$result["choice1"];?>
</td>
</tr>
<tr>
  <td><input type="radio" name="choice<?=$i;?>" value="2">
    <?=$result["choice2"];?></td>
  </tr>
<tr>
  <td><input type="radio" name="choice<?=$i;?>" value="3">
    <?=$result["choice3"];?></td>
  </tr>
<tr>
<td><input type="radio" name="choice<?=$i;?>" value="4">
    <?=$result["choice4"];?></td>
  </tr>
<tr>
  <td><input type="radio" name="choice<?=$i;?>" value="5">
    <?=$result["choice5"];?>
    <input name="answer<?=$i;?>" type="hidden" value="<?=$result["answer"];?>"></td>
  </tr>
</table>
<? }?>
<br />
<br />
<?
$sql2="select * from question2 q2, question_set qs WHERE q2.question_set_id=qs.question_set_id and q2.question_set_id='".$_GET['id']."' order by rand()";
$db_query2=mysql_query($sql2);
$a=0;
while($result2=mysql_fetch_array($db_query2))
{
$a++;
?><br/>
<table width="95%" border="0" align="center">
<tr>
  <td align="left"><b><?=$a;?><input name="id[<?=$a;?>]" type="hidden" value="<?=$result2["question2_id"];?>">
    <?=$result2["question2_name"];?></b></td>
</tr>
<tr>
<td width="14%"> <input name="choice1<?=$a;?>" type="radio" value="1">
  <?=$result2["choice1"];?>
</td>
</tr>
<tr>
  <td><input type="radio" name="choice1<?=$a;?>" value="2">
    <?=$result2["choice2"];?>
    <input name="answer2<?=$a;?>" type="hidden" value="<?=$result2["answer2"];?>"></td>
  </tr>
</table>
<?
}
?>
<br />
<div align="center"><br>
<input type="hidden" name="line" value="<?=$i;?>">
<input type="hidden" name="line2" value="<?=$a;?>">
<input type="submit" name="Submit" value="ส่งข้อสอบ">
</div>
</form>


หน้ารับค่าข้อมูลแล้วบันทึกลง ตารางเก็บคะแนน

Code (PHP)
<?
$score=0;
$score2=0;
for($i=1;$i<=$_POST["line"];$i++)
{
	if($_POST["choice$i"] == $_POST["answer$i"])
	{
		$score=$score+1;
	}
}
for($a=1;$a<=$_POST["line"];$a++)
{
	if($_POST["choice$a"] == $_POST["answer2$a"])
	{
		$score2=$score2+1;
	}
}
//echo "<p align='center'>คุณทำข้อสอบได้ $score คะแนนจาก 20 ข้อ<br>";
echo "<script language='javascript'>alert('บันทึกข้อมูลเรียบร้อยแล้ว');</script>";
echo "<meta http-equiv='refresh' content='0;URL=example.php'>";
$strSQL = "INSERT INTO score_example (member_id, question_set_id, score, score2, time_end) VALUES ('".$_SESSION["id"]."', '".$_GET['qs_id']."', '$score', '$score2', now())";
$objQuery = mysql_query($strSQL);
?>


รบกวนด้วยนะคะ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-11-11 15:43:49 By : chero View : 6378 Reply : 2
 

 

No. 1



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



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

จะใส่ Input type=hidden ให้คนทำข้อสอบลอกคำตอบเหรอครับ แค่วิวซอร์ส ก็เห็นหมดครับ

ให้คีวรี่คำตอบที่ถูกจาก database เอามาเปรียบเทียบ กับคำตอบที่ได้ครับ

Code (PHP)
1 คำถาม xxx yyy 
<input type='radio' name="truefalse[0]" value="1">ถูก 
<input type='radio' name="truefalse[0]" value="0">ผิด

2 คำถาม xxx yyy 
<input type='radio' name="truefalse[1]" value="1">ถูก 
<input type='radio' name="truefalse[1]" value="0">ผิด


Code (PHP)
//PHP ตัวรับ
$result=$db->query('select .......');
$rows=$result->fetch_all(MYSQLI_ASSOC);
foreach($_POST['truefalse'] as $key => $val){
   $score2 += ($row[$key]['answer']==$val? 1 : 0);
}


เป็นแค่ตัวอย่าง ต้องประยุกติ์เอาเองนะครับ
ใช้ได้กับ แบบ choice แค่ขยาย element จาก 2 เป็น5

Code (PHP)
1 คำถาม xxx yyy 
<input type='radio' name="choice[0]" value="1">aaaa 
<input type='radio' name="choice[0]" value="2">bbbb
<input type='radio' name="choice[0]" value="3">ccccc
<input type='radio' name="choice[0]" value="4">dddd
<input type='radio' name="choice[0]" value="5">eeee

2 คำถาม xxx yyy 
<input type='radio' name="choice[1]" value="1">aaaa 
<input type='radio' name="choice[1]" value="2">bbbb
<input type='radio' name="choice[1]" value="3">ccccc
<input type='radio' name="choice[1]" value="4">dddd
<input type='radio' name="choice[1]" value="5">eeee







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-11 16:22:28 By : NewbiePHP
 


 

No. 2



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



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

ดูจากข้อมูลที่ออกมา ปนะนำให้ปรับรูปแบบ table เป็น

1. table questions

code , question_name

2. table answers

code , question_code , answer_name , answer

เวลาจำใช้งานก็ ไป คิวรี่ตาราง question ออกมาก่อน ว่ามีกี่คำถาม

แล้วไปเอาค่า code ของ question ไปคิวรี่ หาคำตอบ ใน table answers ก็จะได้ คำตอบของคำถามนั้นๆ มา

ทำแบบนี้ 1 คำถาม จะปรับเพิ่ม กี่คำตอบให้เลือกก็ได้ สะดวกต่อการใช้งาน และยืดหยุ่นมากกว่า



------------
กรณีอยากแบ่งเป็น หลายๆ part ก็เพิ่ม type ไปใน table question ที้เดียว

code , question_name ,parts
1 ทดสอบ 1
2 ทดสอบ2 1
3 คำถามถูกผิด 2
4 คำกถามถูกผิด 2


เวลาคิวรี่ก็ select มาเป็น parts ใช้งานสะดวกดีนะ


ประวัติการแก้ไข
2015-11-11 20:59:12
2015-11-11 21:00:50
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-11 20:56:16 By : progamer2000
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนดู Code การทำข้อสอบออนไลน์ให้หน่อยค่ะ มีปัญหาในการเก็บคะแนนคะ ไม่สามารถเก็บคะแนนได้ค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่