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 > รบกวนดูโค๊ด multicheck box ให้ผมหน่อยครับ แสดงผลลัพธ์ไม่ตรงตามต้องการครับ



 

รบกวนดูโค๊ด multicheck box ให้ผมหน่อยครับ แสดงผลลัพธ์ไม่ตรงตามต้องการครับ

 



Topic : 090008



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

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

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




multicheck

Code (PHP)
<!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" dir="ltr" lang="th" xml:lang="th">
<head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <title>calculate number</title>
 <script type="text/javascript">
function textclear(){
	var f = document.getElementById('box');  
	
	for(var i=0;i<f['receive[]'].length;i++){   
		var chk = f['receive[]'][i];
		var k = f['k[]'][i];
		var p = f['p[]'][i];
		var a = f['a[]'][i];
		if(chk.checked==false){
			k.value="";
			p.value="";
			a.value="";
			k.readOnly = true;
			p.readOnly = true;
			f['k[]'][i].style.backgroundColor = "#e5e5e4";
			f['p[]'][i].style.backgroundColor = "#e5e5e4";
		}else{
			k.readOnly = false;
			p.readOnly = false;
			f['k[]'][i].style.backgroundColor = "#fff";
			f['p[]'][i].style.backgroundColor = "#fff";
		}
	}	
	var total = 0;
	for(var x=0;x<f['a[]'].length;x++){
		var a = f['a[]'][x].value*1;
		total += a;
	}
	f['c'].value = total;
}

 function textsum(){
   var f = document.getElementById('box');  
   function calA(i){
    var d = function (){
		var k = f['k[]'][i];
		var p = f['p[]'][i];
		var a = f['a[]'][i];	  
     k.value = k.value.replace(/[^\d\.]/g,'');
     p.value = p.value.replace(/[^\d\.]/g,'');
     a.value = (k.value*1) * (p.value*1);
     if (a.value <= 0){
      a.style.color = 'red';
     } else {
      a.style.color = 'black';
     }
	var total = 0;
	for(var x=0;x<f['a[]'].length;x++){
		var a = f['a[]'][x].value*1;
		total += a;
	}
	f['c'].value = total;
	}
    return d; 
   }
    
   for(var i=0;i<f['k[]'].length;i++){   
    f['k[]'][i].onkeyup = calA(i);
    f['p[]'][i].onkeyup = calA(i);
   }
  }
 </script>
</head> 
<body>
 
 
<form method="post" action="" name="box" id="box">
 <input type="text" name="0" value="เลือก" size="1" disabled="disabled" />
 <input type="text" name="a" value="จำนวน" disabled="disabled" />
 <input type="text" name="p" value="ราคาต่อหน่วย" disabled="disabled" />
 <input type="text" name="k" value="ราคารวม" disabled="disabled" />
 <br />
<?php foreach(range(1,5) as $m):?>
<input type="checkbox" name="receive[]" id="receive[]" value="pk" onClick="textclear();" />
 <input type="text" name="k[]" value="" onKeyUp="textsum();" readonly="true" style="background:#e5e5e4;" />
 <input type="text" name="p[]" value="" onKeyUp="textsum();" readonly="true" style="background:#e5e5e4;"/>
 <input type="text" name="a[]" value="" readonly="true" />
 <br/>
<?php endforeach;?>
ยอดรวมทั้งหมด
<input type="text" name="c" id="c" value="" readonly="true" />
 บาท
 <br/>
 <input type="submit" name="submit" id="submit" value="submit" /> <input type="reset" name="reset" id="reset" value="reset" />
</form>
 
 <?php
 if(isset($_POST['submit'])){
	for($i=0;$i<count($_POST['receive']);$i++){
		if(trim($_POST['receive'][$i]) != ""){
			echo $i;
			echo "amount = ".$_POST['k'][$i]."         ";
			echo "price = ".$_POST['p'][$i]."      ";
			echo "sum = ".$_POST['a'][$i]."      ";
			echo "<br />";
		}
	}
	$total = $_POST['c'];
	echo "จำนวนรวมทั้งหมด".$total." บาท";
}
 ?>
</body>
</html>


ไม่ทราบว่าผิดพลาดตรงไหนครับ ผมดูหลายรอบแล้วยังหาสาเหตุไม่เจอครับ
อยากได้ข้อมูลมาแสดงเฉพาะที่เราเลือกใน check box เพื่อนำข้อมูลไป insert ใน table ต่อไปครับ
รบกวนด้วยครับ



Tag : PHP, MySQL, HTML/CSS, JavaScript









ประวัติการแก้ไข
2013-01-30 00:03:36
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-01-29 23:28:09 By : nook563 View : 851 Reply : 4
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

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

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

แบบนี้ใช้ array ไม่ได้น่ะครับ เพราะมีหลายตัวแปรครับ ให้ใช้ id เช่น receive1....receive2...receive3.. ดูตามตัวอย่างนี้ครับ

Go to : PHP MySQL Add/Insert Multiple Record






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-30 06:19:26 By : mr.win
 


 

No. 2



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

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

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


ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2013-01-30 06:19:26
รายละเอียดของการตอบ ::
ด้วยความเคารพ ยังสงสัยอยู่ครับ
กรณีนี้ที่มีหลายตัวแปรนั้นแสดงว่า ถ้ามีการประกาศตัวแปรแบบ array ที่มากกว่า 1 ตัวแปรไม่สามารถใช้การ insert กรณีนี้ได้ แต่ถ้ามีการกำหนดชื่อตัวแปรแบบ array เพียงตัวแปรเดียว แล้วตัวอื่นกำหนดชื่อให้เลย(id) ในฟอร์มนั้นสามารถทำได้ถูกต้องไหมครับ
แสดงว่ากรณีนี้ผมต้องได้ไล่โค๊ดใหม่ทั้งหมดตั้งแต่ต้นด้วย ประมาณนี้ถูกต้องไหมครับ
แล้วกรณีที่ใช้ ชื่อตัวแปรเป็นชนิด array ควรกำหนดให้ตัวไหนดีครับ หรือว่า สามารถใช้เป็น id ได้ทั้งหมดทุกตัวก็ได้

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

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-30 15:19:48 By : nook563
 

 

No. 3



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

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

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

จริงๆ สามารถใช้ array ได้นะครับ แค่ตั้งชื่อให้ชัดเจนเท่านั้นเอง

test.php
<html>
	<head>
		<title>ตัวอย่างการตั้งชื่อตัวแปร POST ให้เป็น array หลายมิติ</title>
	</head>
	<body>
		<form action="test.php" method="post">
			<input name="users[0][enabled]" type="checkbox" />
			<input name="users[0][name]" type="text" />
			<input name="users[0][tel]" type="text" size="8" /><br />
			
			<input name="users[1][enabled]" type="checkbox" />
			<input name="users[1][name]" type="text" />
			<input name="users[1][tel]" type="text" size="8" /><br />
			
			<input name="users[2][enabled]" type="checkbox" />
			<input name="users[2][name]" type="text" />
			<input name="users[2][tel]" type="text" size="8" /><br />
			
			<input name="users[3][enabled]" type="checkbox" />
			<input name="users[3][name]" type="text" />
			<input name="users[3][tel]" type="text" size="8" /><br />
			
			<input name="users[4][enabled]" type="checkbox" />
			<input name="users[4][name]" type="text" />
			<input name="users[4][tel]" type="text" size="8" /><br />
			
			<input type="submit" />
		</form>
		<pre><?php print_r($_POST); ?></pre>
	</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-30 19:05:58 By : cookiephp
 


 

No. 4



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

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

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

ลอง run โค้ดตัวอย่างที่ผมให้ไปดูครับ แล้วจะเข้าใจได้ทันที
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-01-30 19:07:20 By : cookiephp
 

   

ค้นหาข้อมูล


   
 

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