ต้องการให้เช็คช่อง radio ว่ามีการทำข้อสอบหรือยังโดนที่ต้องวนลูปให้ครบทั้ง 55 ข้อ ด้วยตอนนี้ใส่ function แล้วแต่สับสนว่าต้องเปลี่ยนอะไร
<?php
session_start();
require_once('../Connections/MyConnec.php'); //เป็นการเรียกใช้ไฟล์ที่กำหนดเข้ามาไว้ภายในไฟล์ที่เรียกใช้
date_default_timezone_set("Asia/Bangkok");
$u=$_SESSION["User_name"];//เปิด SESSION มาจากcheck_login
?>
<!--<script language="javascript">
function checkconfirm()
{
if(confirm('กรุณายืนยัน')==true)
{
frmTest.submit();
document.frmTest.submit.disabled='true';
return true;
}else{ return false;}
}
</script>-->
<script language="javascript">
function checktest()
{
if(document.frmTest.$chk_Ch.checked == false )
{
alert('คุณทำข้อสอบไม่ครบ ');
return false;
}
document.frmTest.submit();
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>แบบทดสอบสมรรถนะวิชาชีพ</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
</head>
<body bgcolor="#FFFACD" onLoad="begintimer()">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-8">
<table class="table table-striped">
<tr><td align="center" colspan="2">
<p id="display"></p>
<?php
$str_SQL = "select * FROM table_time where St_User='".$u."'";
$rs=mysql_query($str_SQL,$MyConnec);
$chk = mysql_num_rows($rs); //mysql_num_rows() ใช้นับจำนวนแถวทั้งหมดของ result
$data=mysql_fetch_array($rs);//mysql_fetch_array()ใช้คืนค่า ค่าข้อมูล ของ result ($rs) ในแถวที่ชี้อยู่ และเก็บไว้ที่ array และเลื่อนไปตัวชี้ชี้ไปยังตำแหน่งถ้ดไป
if($chk <>1) //ตวจเช็คว่ารหัสนักศึกษานี้มีในฐานข้อมูลสอบหรือยัง
{
$start_time = date("H:i:s");
$time=explode(":",$start_time);
$time[0]=$time[0]+1;
$end_time="".$time[0].":".$time[1].":".$time[2]."";
$SQL_save ="INSERT INTO table_time(St_User,start_time,end_time,status_time) VALUES ('".$u."','".$start_time."','".$end_time."','0')";
//echo $SQL_save;
$rs2=mysql_query($SQL_save,$MyConnec);
$set_time="60:00";
}else
{
if(date("H:i:s",strtotime($data["end_time"])) > date("H:i:s"))//ถ้าเวลาจบมากกว่าเวลาปัจจุบัน
{
$time=explode(":",$data["end_time"]);
$time2=explode(":",date("H:i:s"));
if($time[2]<$time2[2])
{
$time[1]=$time[1]-1;
$time[2]=$time[2]+60;
$sec=$time[2]-$time2[2];
}else
{
$sec=$time[2]-$time2[2];
}
if($time[1]<$time2[1])
{
$time[0]=$time[0]-1;
$time[1]=$time[1]+60;
$min=$time[1]-$time2[1];
}else
{
$min=$time[1]-$time2[1];
}
$set_time="".$min.":".$sec."";
}else
{
$set_time="00:01";
}
}
?>
<script language="">
var limit="<?php echo $set_time; ?>"//คำสั่งการประกาศค่าตัวแปรเวลาเริ่มต้น
if (document.images)
{
var parselimit=limit.split(":");
parselimit=parselimit[0]*60+parselimit[1]*1;//หาค่าวินาที
}
function begintimer()
{
if (!document.images)
return
if (parselimit==1)
// เหตุการณ์ที่ต้องการให้เกิดขึ้น
// window.location='page.php'; ถ้าต้องการให้กระโดดไปยัง Page อื่น
frmTest.submit();
else
{
parselimit-=1;
curmin=Math.floor(parselimit/60);//คำนวณค่าวินาที วินาที/60นาที
cursec=parselimit%60;
if (curmin!=0)
curtime="เวลาที่เหลือ <font color=red> "+curmin+" </font>นาที กับ <font color=red>"+cursec+" </font>วินาที ";
else
if(cursec==0)
{
alert('หมดเวลาแล้วจ้า');
}
else
{
curtime="เวลาที่เหลือ <font color=red>"+cursec+" </font>วินาที ";
}
document.getElementById('display').innerHTML = curtime;
setTimeout("begintimer()",1000);
}
}
</script>
</td></tr>
<form id="frmTest" name="frmTest" method="post" action="get-answer.php" onSubmit="return checktest()">
<?php
function submitChk($obj)
{
mysql_query("UPDATE Dummy_test SET chk='".$obj.value."' WHERE St_User='".$u."' AND T_id = '".$obj.name."'");
//echo "----1----";
}
$chNum=0;
if($chk <>1) //ตวจเช็คว่ารหัสนักศึกษานี้มีในฐานข้อมูลสอบหรือยัง
{
mysql_select_db($database_MyConnec, $MyConnec);
$selectSub=mysql_query("SELECT * FROM subject"); // select แต่ละวิชาออกมาแสดง
while($sub=mysql_fetch_array($selectSub))
{
$selectQue=mysql_query("SELECT * FROM test WHERE Sub_id='".$sub['Sub_id']."' ORDER BY rand() LIMIT 5"); // select คำถามแต่ละวิชา อ้างอิงจาก Sub_id แบบ Random limit 3
while($row_Recordset1=mysql_fetch_array($selectQue))
{
$str_SqlDummy = "INSERT INTO Dummy_test(id, St_User, T_id, chk) VALUES (' ','".$u."','".$row_Recordset1['T_id']."','0')";
mysql_query($str_SqlDummy);
}
}
}
mysql_select_db($database_MyConnec, $MyConnec);
$selectSub=mysql_query("SELECT * FROM test left join Dummy_test on Dummy_test.T_id=test.T_id and Dummy_test.St_User = '".$u."'"); //
while($row_Recordset1=mysql_fetch_array($selectSub))
{
$chNum++;
$chk_Ch=$row_Recordset1['chk'];
?>
<tr><td rowspan="2"><?php echo $chNum; ?>.</td>
<input type="hidden" name="St_User" value="<?php echo $u; ?>">
<td><?php echo $row_Recordset1['T_question']; ?></td>
<tr><td>
<p>
<input type="radio" name="<?php echo $row_Recordset1['T_id']; ?>" id="T_c1" value="1" />
<?php echo $row_Recordset1['T_c1']; ?><br />
<input type="radio" name="<?php echo $row_Recordset1['T_id']; ?>" id="T_c2" value="2" />
<?php echo $row_Recordset1['T_c2']; ?><br />
<input type="radio" name="<?php echo $row_Recordset1['T_id']; ?>" id="T_c3" value="3" />
<?php echo $row_Recordset1['T_c3']; ?><br />
<input type="radio" name="<?php echo $row_Recordset1['T_id']; ?>" id="T_c4" value="4" />
<input type="hidden" name="SS" value="<?php echo $row_Recordset1['Sub_id']; ?>" />
<?php echo $row_Recordset1['T_c4']; ?><br/>
</p>
</td></tr>
<?php
}
?>
</table>
</div>
<div class="col-md-2"></div>
</div>
<p>
<center> <input type="submit" name="button" id="button" class="btn btn-info btn-block" value="ส่งข้อสอบ"></center>
<br>
</p>
</form>
</body>
</html>
<?php
@mysql_free_result($Recordset1);
?>Tag : PHP, MySQL
Date :
2017-06-20 13:50:17
By :
Tarnikar
View :
1107
Reply :
1
ผมไม่อ้างอิง code ของคุณนะครับ เพราะมันรกมากเกินไป
ตัวอย่างครับ
Code (PHP)
// การเช็คตอบกรอกครบหรือไม่ เช็คจาก radio 4 จุดที่มีอยู่
<script>
function checkVal(){
for(i=1;i<=10;i++){
var rdo1=document.getElementById('Answer'+i+'_1').checked;
var rdo2=document.getElementById('Answer'+i+'_2').checked;
var rdo3=document.getElementById('Answer'+i+'_3').checked;
var rdo4=document.getElementById('Answer'+i+'_4').checked;
if(rdo1 == false && rdo2 == false && rdo3 == false && rdo4 == false){
alert('คุณยังไม่ได้เลือกคำตอบที่ '+i);
return false;
}
}
}
</script>
// ส่วนของคำตอบ ของแต่ละข้อ อ้างอิงจาก $no => ไอดีขอแต่ละข้อ , $noA => วน loop แต่ละรอบของคำตอบ
<?php
while($ans=mysqli_fetch_assoc($selectAns)){
$noA++;
?>
<b>คำตอบที่ <?=$noA;?></b><input type="radio" id="Answer<?=$no;?>_<?=$noA;?>" name="Answer<?=$no;?>" value="<?=$ans['Answer'];?>" /><? echo $ans['Answer'];?><br>
<? } ?>
ประวัติการแก้ไข 2017-06-20 15:06:07
Date :
2017-06-20 15:05:09
By :
dudesaranyu
Code (PHP)
ผมไม่อ้างอิง code ของคุณนะครับ เพราะมันรกมากเกินไป
ตัวอย่างครับ
Code (PHP)
[php]// การเช็คตอบกรอกครบหรือไม่ เช็คจาก radio 4 จุดที่มีอยู่
<script>
function checkVal(){
for(i=1;i<=10;i++){
var rdo1=document.getElementById('Answer'+i+'_1').checked;
var rdo2=document.getElementById('Answer'+i+'_2').checked;
var rdo3=document.getElementById('Answer'+i+'_3').checked;
var rdo4=document.getElementById('Answer'+i+'_4').checked;
if(rdo1 == false && rdo2 == false && rdo3 == false && rdo4 == false){
alert('คุณยังไม่ได้เลือกคำตอบที่ '+i);
return false;
}
}
}
</script>
// ส่วนของคำตอบ ของแต่ละข้อ อ้างอิงจาก $no => ไอดีคำถามแต่ละข้อ , $noA => วน loop แต่ละรอบของคำตอบ
<?php
while($ans=mysqli_fetch_assoc($selectAns)){
$noA++;
?>
<b>คำตอบที่ <?=$noA;?></b><input type="radio" id="Answer<?=$no;?>_<?=$noA;?>" name="Answer<?=$no;?>" value="<?=$ans['Answer'];?>" /><? echo $ans['Answer'];?><br>
<? } ?>
<input type="submit" value="ส่งคำตอบ" onclick="return checkVal();" />
ประวัติการแก้ไข 2017-06-20 15:07:58
Date :
2017-06-20 15:07:08
By :
dudesaranyu
Load balance : Server 05