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

Registered : 107,521

HOME > PHP > PHP Forum > PHP ทำแบบประเมิน แล้วให้คำนวนคะแนนอัตโนมัติครับ





 

PHP ทำแบบประเมิน แล้วให้คำนวนคะแนนอัตโนมัติครับ

 



Topic : 109907



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



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




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

ผมต้องการจะให้หาผลรวมแบบอัตโนมัติเลยอ่ะครับ

แต่ผมเจอเฉพาะที่เป็บแบบ textbox อ่ะครับ จะทำในรูปแบบ radio ยังไงครับ

ตอนนี้อยากแค่ให้มันคำนวนเองได้ก็พอครับ ขอบคุณครับ

Code (PHP) อันนี้ที่ไปหามาครับ
<html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <script language="javascript">
    function alertData(){
        var txt1 = document.getElementById('test1').value;
        var txt2 = document.getElementById('test2').value;
        var txt3 = document.getElementById('test3').value;
        var txt4 = document.getElementById('test4').value;
        var total = document.getElementById('total');
            if(txt1 == ""){txt1 = 0;}
            if(txt2 == ""){txt2 = 0;}
            if(txt3 == ""){txt3 = 0;}
            if(txt4 == ""){txt4 = 0;}
        total.value = parseInt(txt1)+parseInt(txt2)+parseInt(txt3)+parseInt(txt4);
    }
    </script>
    </head>
    <body>
        <input name="test1" id="test1" type="text" onkeyup="alertData()"/><br />
        <input name="test2" id="test2" type="text" onkeyup="alertData()"/><br />
        <input name="test3" id="test3" type="text" onkeyup="alertData()"/><br />
        <input name="test4" id="test4" type="text" onkeyup="alertData()"/><br />
        <br />
        <br />
        <input type="text" name="total" id="total"/>
    </body>
</html>



นี่เป็นที่ทำไว้ครับ

ภภ

ถถ

Code (PHP) อันที่เป็นแบบ radio ที่ทำไว้ครับ
<form name="eval" action="<?PHP $_SERVER['PHP_SELF']?>">
   <table width="100%" cellpadding="0" cellspacing="1" class="tct" border="1">
      <tr>
         <th rowspan="2">#</th>
         <th rowspan="2">เกณฑ์การประเมิน (Description)</th>
         <th colspan="5">ระดับคะแนน (Rating Scale)</th>
      </tr>
      <tr>
         <th>5</th>
         <th>4</th>
         <th>3</th>
         <th>2</th>
         <th>1</th>
      </tr>
      <?PHP
         $i = 0;
         while($show = mysql_fetch_array($result)){
         $i++;
      ?>
      <tr>
         <td width="5%" align="center"><?=$i;?></td>
         <td width="70%" style="padding-left: 5px;"><?=$show['evl_detail']?></td>
         <td width="5%" align="center"><input type="radio" name="score<?=$i;?>" value="5"/></td>
         <td width="5%" align="center"><input type="radio" name="score<?=$i;?>" value="4"/></td>
         <td width="5%" align="center"><input type="radio" name="score<?=$i;?>" value="3"/></td>
         <td width="5%" align="center"><input type="radio" name="score<?=$i;?>" value="2"/></td>
         <td width="5%" align="center"><input type="radio" name="score<?=$i;?>" value="1"/></td>
      </tr> <?PHP } ?>
      <tr>
         <td width="75%" align="right" colspan="2">รวมคะแนนทั้งหมด (Total)&emsp;</td>
         <td width="5%" align="center" colspan="5"></td>
      </tr>
   </table>
</form>




Tag : PHP









ประวัติการแก้ไข
2014-07-13 14:50:07
2014-07-13 14:57:25
2014-07-13 14:58:15
2014-07-14 17:34:50
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-07-13 14:48:33 By : sabaitip View : 6843 Reply : 9
 

 

No. 1



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



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


เลือกข้อ 1 - 19 ขึ้น 0
พอเลือกข้อ 20 ขึ้น NaN ครับ

มันไม่คำควณให้อ่ะครับ Help Me !!!

Code (PHP)
<script type='text/javascript'>
   function alertData() // คำนวณผล
   {
      var Rows = document.estimate.hdnRows.value;
      for(i=1;i<=Rows;i++)
      {
      var rdo1 = document.getElementById("score"+i+"_1").checked == true;
      var rdo2 = document.getElementById("score"+i+"_2").checked == true;
      var rdo3 = document.getElementById("score"+i+"_3").checked == true;
      var rdo4 = document.getElementById("score"+i+"_4").checked == true;
      var rdo5 = document.getElementById("score"+i+"_5").checked == true;
         if(rdo1 == ""){ rdo1 = 0; }
         if(rdo2 == ""){ rdo2 = 0; }
         if(rdo3 == ""){ rdo3 = 0; }
         if(rdo4 == ""){ rdo4 = 0; }
         if(rdo5 == ""){ rdo5 = 0; }
      document.getElementById("total").value = parseFloat(rdo1) + parseFloat(rdo2) + parseFloat(rdo3) + parseFloat(rdo4) + parseFloat(rdo5);
      }
}
</script>
<form name="estimate" action="<?PHP $_SERVER['PHP_SELF']?>">
   <table width="100%" cellpadding="0" cellspacing="1" class="tct" border="1">
      <tr>
         <th rowspan="2">#</th>
         <th rowspan="2">เกณฑ์การประเมิน (Description)</th>
         <th colspan="5">ระดับคะแนน (Rating Scale)</th>
      </tr>
      <tr>
         <th>5</th>
         <th>4</th>
         <th>3</th>
         <th>2</th>
         <th>1</th>
      </tr>
      <?PHP
         $i = 0;
         while($show = mysql_fetch_array($result)){
         $i = $i + 1;
      ?>
      <tr>
         <td width="5%" align="center"><?=$i;?></td>
         <td width="70%" style="padding-left: 5px;"><?=$show['evl_detail']?></td>
         <td width="5%" align="center"><input type="radio" name="score<?=$i;?>" id="score<?=$i;?>_1" value="5" onClick="alertData();"/></td>
         <td width="5%" align="center"><input type="radio" name="score<?=$i;?>" id="score<?=$i;?>_2" value="4" onClick="alertData();"/></td>
         <td width="5%" align="center"><input type="radio" name="score<?=$i;?>" id="score<?=$i;?>_3" value="3" onClick="alertData();"/></td>
         <td width="5%" align="center"><input type="radio" name="score<?=$i;?>" id="score<?=$i;?>_4" value="2" onClick="alertData();"/></td>
         <td width="5%" align="center"><input type="radio" name="score<?=$i;?>" id="score<?=$i;?>_5" value="1" onClick="alertData();"/></td>
      </tr> <?PHP } ?>
      <tr>
         <td width="75%" align="right" colspan="2">รวมคะแนนทั้งหมด (Total)&emsp;</td>
         <td width="25%" align="center" colspan="5"><input type="text" name="total" id="total" value=""/></td>
      </tr>
   </table><br/>

         <input type="hidden" name="hdnRows" value="<?=$i;?>">
         <input class="btn" type="submit" name="submit" value="ส่งผลประเมิน"/>
</form>









ประวัติการแก้ไข
2014-07-14 14:20:09
2014-07-14 14:21:05
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-14 14:17:34 By : sabaitip
 


 

No. 2



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



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


พอจะได้แล้วครับ แต่ผมรู้สึกว่า ค่า value ที่อยู่ใน radio button จะไม่ได้นำมาใช้งานเลย
หรือมีวิธีที่ดีกว่านี้มั่งครับ เช่น เลือก radio แล้วคำนวณเลย โดยที่ไม่ต้องเก็บไว้ใน type="hidden" name="total" ก่อน



Code (PHP)
<form name="estimate" action="<?PHP $_SERVER['PHP_SELF']?>" onSubmit="return fncSubmit();">
   <table width="100%" cellpadding="0" cellspacing="1" class="tct" border="1">
      <tr>
         <th rowspan="2">#</th>
         <th rowspan="2">เกณฑ์การประเมิน (Description)</th>
         <th colspan="5">ระดับคะแนน (Rating Scale)</th>
      </tr>
      <tr>
         <th>5</th>
         <th>4</th>
         <th>3</th>
         <th>2</th>
         <th>1</th>
      </tr>
      <?PHP
         $i = 0;
         while($show = mysql_fetch_array($result)){
         $i = $i + 1;
      ?>
      <tr>
         <td width="5%" align="center"><input type="hidden" name="total<?=$i;?>" id="total<?=$i;?>"><?=$i;?></td>
         <td width="70%" style="padding-left: 5px;"><?=$show['evl_detail']?></td>
         <td width="5%" align="center"><input type="radio" name="score<?=$i;?>" id="score<?=$i;?>_1" value="5" onClick="alertData()"/></td>
         <td width="5%" align="center"><input type="radio" name="score<?=$i;?>" id="score<?=$i;?>_2" value="4" onClick="alertData()"/></td>
         <td width="5%" align="center"><input type="radio" name="score<?=$i;?>" id="score<?=$i;?>_3" value="3" onClick="alertData()"/></td>
         <td width="5%" align="center"><input type="radio" name="score<?=$i;?>" id="score<?=$i;?>_4" value="2" onClick="alertData()"/></td>
         <td width="5%" align="center"><input type="radio" name="score<?=$i;?>" id="score<?=$i;?>_5" value="1" onClick="alertData()"/></td>
      </tr> <?PHP } ?>
      <tr>
         <td width="75%" align="right" colspan="2">รวมคะแนนทั้งหมด (Total)&emsp;</td>
         <td width="25%" align="center" colspan="5"><input type="text" name="sum" id="sum" value="0" disabled/></td>
      </tr>
   </table><br/>

         <font color="red">** คุณสามารถประเมินได้เพียงหนึ่งครั้งเท่านั้น **</font><br/><br/>
         <input type="hidden" name="hdnRows" value="<?=$i;?>">
         <input class="btn" type="submit" name="submit" value="ส่งผลประเมิน"/>
</form>
                
<script type='text/javascript'>
   function alertData() // คำนวณผล
   {
      var sum = 0;
      var Rows = document.estimate.hdnRows.value;
      for(var i=1;i<=Rows;i++)
      {
         if(document.getElementById("score"+i+"_1").checked == true){ document.getElementById("total"+i).value = 5 }
         if(document.getElementById("score"+i+"_2").checked == true){ document.getElementById("total"+i).value = 4 }
         if(document.getElementById("score"+i+"_3").checked == true){ document.getElementById("total"+i).value = 3 }
         if(document.getElementById("score"+i+"_4").checked == true){ document.getElementById("total"+i).value = 2 }
         if(document.getElementById("score"+i+"_5").checked == true){ document.getElementById("total"+i).value = 1 }

         var total = document.getElementById("total"+i).value;
         sum += (total * 1);
      }
      document.getElementById("sum").value = sum;
   }

   function fncSubmit() // เช็คค่าว่าง
   {
      var Rows = document.estimate.hdnRows.value;
      for(var i=1;i<=Rows;i++)
      {
         var s1 = document.getElementById("score"+i+"_1");
         var s2 = document.getElementById("score"+i+"_2");
         var s3 = document.getElementById("score"+i+"_3");
         var s4 = document.getElementById("score"+i+"_4");
         var s5 = document.getElementById("score"+i+"_5");
         if(s1.checked == false && s2.checked == false && s3.checked == false && s4.checked == false && s5.checked == false)
         {
            alert('กรุณาให้คะแนนในข้อที่  ' + i);
            return false;
         }
      }

   }
</script>



ประวัติการแก้ไข
2014-07-15 13:34:31
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-15 13:32:38 By : sabaitip
 

 

No. 3



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



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


ถ้าอยากเอาลง database ตามข้อ ควรเขียนแบบไหนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-28 20:17:55 By : chos
 


 

No. 4



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



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


ลองเอาไปเล่นดู เพื่อจะได้ไอเดีย
Code (PHP)
<?php
$rad='';
if(isset($_POST['rad'])){
	$rad = print_r( $_POST['rad'], true);
	$r=$_POST['rad'];
}
?><!doctype html>
<html>
<head>
</head>
<body>
<pre><?=$rad?></pre>
<form method="post" >
<table border=1 >
<tr>
	<th>Name</th>
	<th>1</th>
	<th>2</th>
	<th>3</th>
	<th>4</th>
</tr>
<tr>
	<td>Test1</td>
	<td><input type="radio" name="rad[0]" value=1 <?=(isset($r)? ($r[0]==1? 'checked':'') : '')?> ></td>
	<td><input type="radio" name="rad[0]" value=2 <?=(isset($r)? ($r[0]==2? 'checked':'') : '')?> ></td>
	<td><input type="radio" name="rad[0]" value=3 <?=(isset($r)? ($r[0]==3? 'checked':'') : '')?> ></td>
	<td><input type="radio" name="rad[0]" value=4 <?=(isset($r)? ($r[0]==4? 'checked':'') : '')?> ></td>
</tr>
<tr>
	<td>Test2</td>
	<td><input type="radio" name="rad[1]" value=1 <?=(isset($r)? ($r[1]==1? 'checked':'') : '')?> ></td>
	<td><input type="radio" name="rad[1]" value=2 <?=(isset($r)? ($r[1]==2? 'checked':'') : '')?> ></td>
	<td><input type="radio" name="rad[1]" value=3 <?=(isset($r)? ($r[1]==3? 'checked':'') : '')?> ></td>
	<td><input type="radio" name="rad[1]" value=4 <?=(isset($r)? ($r[1]==4? 'checked':'') : '')?> ></td>
</tr>
<tr>
	<td>Test3</td>
	<td><input type="radio" name="rad[2]" value=1 <?=(isset($r)? ($r[2]==1? 'checked':'') : '')?> ></td>
	<td><input type="radio" name="rad[2]" value=2 <?=(isset($r)? ($r[2]==2? 'checked':'') : '')?> ></td>
	<td><input type="radio" name="rad[2]" value=3 <?=(isset($r)? ($r[2]==3? 'checked':'') : '')?> ></td>
	<td><input type="radio" name="rad[2]" value=4 <?=(isset($r)? ($r[2]==4? 'checked':'') : '')?> ></td>
</tr>
</table>
<button>Submit</button>
</form>
</body>
</html>



ประวัติการแก้ไข
2017-10-29 11:53:22
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-10-29 11:51:53 By : Chaidhanan
 


 

No. 5

Guest


มีตัวอย่างที่แก้ไขสมบูรณ์แล้วมั้ยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-11 08:38:23 By : ชัยวัฒน์
 


 

No. 6

Guest


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<form name="eval" action="">
<table width="70%" cellpadding="0" cellspacing="1" class="tct" border="1">
<tr>
<th rowspan="2">#</th>
<th rowspan="2">เกณฑ์การประเมิน (Description)</th>
<th colspan="5">ระดับคะแนน (Rating Scale)</th>
</tr>
<tr>
<th>5</th>
<th>4</th>
<th>3</th>
<th>2</th>
<th>1</th>
</tr>
<tr>
<td width="5%" align="center">1</td>
<td width="70%" style="padding-left: 5px;">title 1</td>
<td width="5%" align="center"><input type="radio" id="score_1" name="score_1" value="5"/></td>
<td width="5%" align="center"><input type="radio" id="score_1" name="score_1" value="4"/></td>
<td width="5%" align="center"><input type="radio" id="score_1" name="score_1" value="3"/></td>
<td width="5%" align="center"><input type="radio" id="score_1" name="score_1" value="2"/></td>
<td width="5%" align="center"><input type="radio" id="score_1" name="score_1" value="1"/></td>
</tr>
<tr>
<td width="5%" align="center">2</td>
<td width="70%" style="padding-left: 5px;">title 2</td>
<td width="5%" align="center"><input type="radio" id="score_2" name="score_2" value="5"/></td>
<td width="5%" align="center"><input type="radio" id="score_2" name="score_2" value="4"/></td>
<td width="5%" align="center"><input type="radio" id="score_2" name="score_2" value="3"/></td>
<td width="5%" align="center"><input type="radio" id="score_2" name="score_2" value="2"/></td>
<td width="5%" align="center"><input type="radio" id="score_2" name="score_2" value="1"/></td>
</tr>
<tr>
<td width="5%" align="center">3</td>
<td width="70%" style="padding-left: 5px;">title 3</td>
<td width="5%" align="center"><input type="radio" id="score_3" name="score_3" value="5"/></td>
<td width="5%" align="center"><input type="radio" id="score_3" name="score_3" value="4"/></td>
<td width="5%" align="center"><input type="radio" id="score_3" name="score_3" value="3"/></td>
<td width="5%" align="center"><input type="radio" id="score_3" name="score_3" value="2"/></td>
<td width="5%" align="center"><input type="radio" id="score_3" name="score_3" value="1"/></td>
</tr>
<tr>
<td width="75%" align="right" colspan="2">รวมคะแนนทั้งหมด (Total)&emsp;</td>
<td width="5%" align="center" colspan="5" id="sum_socre">0</td>
</tr>
</table>
</form>

<script type='text/javascript'>
var sum = 0;
var add_value = [];

$('input[type=radio]').change(function(){
// add value
add_value[this.name] = this.value;

// reset sum
sum = 0;
for(var key in add_value){
sum = parseInt(sum) + parseInt(add_value[key])
}

$('#sum_socre').html(sum);
console.log(sum);
});

</script>


*คงประมาณนี้ลองเอาไปปรับแต่งดู
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-04-11 14:02:42 By : ไม่ประสงค์ออกนาม
 


 

No. 7

Guest


มีตัวอย่างที่ทำเสร็จแล้วมั้ยครับ มือใหม่หัดทำ อยากได้ Code มาลองเล่นครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-05-10 08:44:17 By : ชัยวัฒน์ ศรีบุรินทร์
 


 

No. 8

Guest


มีตัวที่เสร็จแล้วมั้ยครับ ขอหน่อยได้มั้ยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-08 10:33:04 By : Unknow
 


 

No. 9



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



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


ตรงนี้เป็นแหล่งตอบปัญหา และ การเรียนรู้ ต้องช่วยตัวเองบ้างนะครับ
แล้วติดปัญหายังไงเอาโค๊ดมาถาม

และจริงๆ โค๊ดตัวอย่างที่อยากจะเอาไปศึกษามีตั้งเยอะแยะ ไม่จำเป็นต้องเป็นโค๊ดแบบนี้หรอกครับ

ถ้าอยากได้แบบนี้และสำเร็จเลย ช่วยจ้างกันได้ไหม 55555
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2018-10-08 11:55:24 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : PHP ทำแบบประเมิน แล้วให้คำนวนคะแนนอัตโนมัติครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม

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