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

HOME > PHP > PHP Forum > พี่ค่ะช่วยดูโค๊ดให้หน่อยค่ะ เรื่องการคำนวน คือจำนวนเงินทั้งหมดจะเปลี่ยนไปตามจำนวนเงินที่ได้กรอกลงไป



 

พี่ค่ะช่วยดูโค๊ดให้หน่อยค่ะ เรื่องการคำนวน คือจำนวนเงินทั้งหมดจะเปลี่ยนไปตามจำนวนเงินที่ได้กรอกลงไป

 



Topic : 095953



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



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




สวัสดีค่ะพี่ๆ คือ มีเรื่งอยากไห้พี่ๆช่วยอีกนิดหน่อย คือหนูอยากให้ จำนวนเงินทั้งหมดมันลดลงเรื่อยๆอัตโนมัติพอเราใส่จำนวนเงินหรือเปอร์เซ็นไป
สมมติ ใส่ จำนวนเงินไป ครั้งแรก 200 จำนวนเงินทั้งหมดก้อจะเหลือ 800 บาท
ครั้งที่สองใส่ไปอีก 500 จำนวนเงินทั้งหมดก้อเหลือ 300 บาท

ss

ช่วยหนูหน่อยนะค่ะ หนูไม่รู้จะแก้ตรงไหน พอหนูทำแล้วมันคำนวณค่าไม่ตรงตามที่ต้องการ
Code (PHP)
<?php
/*** By Weerachai Nukitram ***/
/***  http://www.ThaiCreate.Com ***/
	session_start();
	if($_SESSION['Mem_ID'] == "")
	{
		echo "Please Login!";
		echo sss.$_SESSION['Mem_ID'];
		exit();
	}
	
	$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
	$objDB = mysql_select_db("household");
	mysql_query("SET character_set_results=utf8");
	mysql_query("SET character_set_client=utf8");
	mysql_query("SET character_set_connection=utf8");
	

	?>
<!DOCTYPE html>
<html>
	<head>

		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script language="javascript">
function num_key(evt){
var iKeyCode;
if(window.event){ // IE
iKeyCode = evt.keyCode	
}
else if(evt.which){ // Netscape/Firefox/Opera
iKeyCode = evt.which
}

if ((iKeyCode >= 48 && iKeyCode <= 57) || iKeyCode == 8 || iKeyCode == 46){ // 8 Backapace , 46 Delete , .
return true;
}
else{
return false;
}
}

function calculate(_id,_type){
var errcolor = "#FFE4E1";
var wcolor = "#ffffff";
var _hdTotal = document.getElementById("total").value;
var _hdNum = document.getElementById("hdNum").value;
var _result;

if (_type == "pc") { // เปอร์เซนต์ 

var _percent = document.getElementById("percent"+_id).value;
if(isNaN(_percent)) _percent = 0;
if (_percent != 0) {
_result = ((_hdTotal / 100)*_percent);
document.getElementById("amt"+_id).value = _result.toFixed(2);
}
else{
document.getElementById("amt"+_id).value = "";
}

//Check %
var _sum=0;
var _sumVal=0;
for(var i=1;i<_hdNum;i++){
document.getElementById("percent"+i).style.background=wcolor;
document.getElementById("amt"+i).style.background=wcolor;
var _pc = document.getElementById("percent"+i).value;
if(isNaN(_pc)) _pc = 0;
_sum += (_pc * 1);
if(_sum > 100 && _pc != 0){ // > 100%
alert("เกิน 100 % ค่ะ")
for(var j=1;j<i;j++){
var _val = document.getElementById("percent"+j).value;
if(isNaN(_val)) _val = 0;
_sumVal += (_val * 1);
}
_percent = (100 - _sumVal); // %
_result = ((_hdTotal / 100) * _percent); // amt
document.getElementById("percent"+i).value = _percent;
document.getElementById("amt"+i).value = _result.toFixed(2);
//document.getElementById("percent"+i).style.background=errcolor;
//document.getElementById("amt"+i).style.background=errcolor;
}
}

}
else if (_type == "amt") { // จำนวนเงิน

var _amt = document.getElementById("amt"+_id).value;
if(isNaN(_amt)) _amt = 0;
if (_amt != 0) {
_result = (100-((_hdTotal - _amt)/_hdTotal*100));
document.getElementById("percent"+_id).value = _result.toFixed(2);
}
else{
document.getElementById("percent"+_id).value = "";
}

//Check %
var _sum=0;
var _sumVal=0;
for(var i=1;i<_hdNum;i++){
document.getElementById("percent"+i).style.background=wcolor;
document.getElementById("amt"+i).style.background=wcolor;
var _pc = document.getElementById("percent"+i).value;
if(isNaN(_pc)) _pc = 0;
_sum += (_pc * 1);
if(_sum > 100 && _pc != 0){ // > 100%
alert("เกิน 100 % ค่ะ")
for(var j=1;j<i;j++){
var _val = document.getElementById("percent"+j).value;
if(isNaN(_val)) _val = 0;
_sumVal += (_val * 1);
}
_percent = (100 - _sumVal); // %
_result = ((_hdTotal / 100) * _percent); // amt
document.getElementById("percent"+i).value = _percent;
document.getElementById("amt"+i).value = _result.toFixed(2);
//document.getElementById("percent"+i).style.background=errcolor;
//document.getElementById("amt"+i).style.background=errcolor;
}
}
} 
}

</script>
<body>

    <form name="form1" method="post" action="save9.php">

        <table width="572" border="1" align="center">
          <tr>
            <td width="50" align="center">ลำดับที่</td>
            <td width="170" align="center">รายการ</td>
            <td width="144" align="center">เปอร์เซ็นต์</td>
            <td width="158" align="center">จำนวนเงิน</td>
          </tr>
          <?	
	$b=1;
		
		?>
          <input type="hidden" name="one" id="one" value="100"/>
          <p align="center">จำนวนเงินทั้งหมด
            <input type="text" name="total" id="total" value="1000">
            <?
		$table="select* from saving_type where Mem_ID='".$_SESSION['Mem_ID']."'";
		//$table="select * from saving_type ORDER BY Sav_Type_ID ASC";
		$table1=mysql_query($table);
		$rows=mysql_num_rows($table1);

  		while($table3=mysql_fetch_assoc($table1)){
    ?>
          <tr>
            <td align="center"><? echo $b; ?></td>
            <td align="center"><? echo $table3['sav_Type_Name']?>
              <input type="hidden" name="sav_Type_ID<?=$b?>" value="<?=$table3['sav_Type_ID'];?>"></td>
            <input type="hidden" name="Sav_Date_Start<?=$b?>" value="<? echo date('Y-m-d')?>">
            <?php  $mount = date('m');
				if($mount=12){
					$day=date('d'); $mount=1; $year=date('Y')+1;
				}
				else{
					$day=date('d'); $mount=date('m')+1; $year=date('Y');		
				}
						 ?>
            <input type="hidden" name="Sav_Date_stop<?=$b?>" value="<? echo $year."-0".$mount."-".$day?>">
            <td align="center"><input type="text" name="percent<?=$b;?>" id="percent<?=$b;?>" value="0" maxlength="3" onKeyPress="return num_key(event);" onKeyUp="calculate('<?=$b;?>','pc');"/></td>
            <td align="right"><input type="text" name="amt<?=$b;?>" id="amt<?=$b;?>" value="0.0" maxlength="10" onKeyPress="return num_key(event);" onKeyUp="calculate('<?=$b;?>','amt');"/></td>
            <? 
$b++;
}
?>
<input type="hidden" name="hdNum" id="hdNum" value="<?=$b;?>">
        
      </tr>
      </table>
    </form>

</body>
        
        </html>




Tag : PHP, HTML/CSS, JavaScript









ประวัติการแก้ไข
2013-05-31 21:12:33
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-05-31 21:11:12 By : becauselove View : 781 Reply : 3
 

 

No. 1



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



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


ลองดู

https://www.thaicreate.com/tutorial/javascript-onkeyup.html

ประกอบครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-01 13:53:10 By : iieszz
 


 

No. 2

Guest


Code (PHP)
<?php
	session_start();
	if($_SESSION['Mem_ID'] == "")
	{
		echo "Please Login!";
		echo sss.$_SESSION['Mem_ID'];
		exit();
	}
	
	$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
	$objDB = mysql_select_db("household");
	mysql_query("SET character_set_results=utf8");
	mysql_query("SET character_set_client=utf8");
	mysql_query("SET character_set_connection=utf8");
	

	?>
<!DOCTYPE html>
<html>
	<head>

		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script language="javascript">
function num_key(evt){
var iKeyCode;
if(window.event){ // IE
iKeyCode = evt.keyCode	
}
else if(evt.which){ // Netscape/Firefox/Opera
iKeyCode = evt.which
}

if ((iKeyCode >= 48 && iKeyCode <= 57) || iKeyCode == 8 || iKeyCode == 46){ // 8 Backapace , 46 Delete , .
return true;
}
else{
return false;
}
}

function calculate(_id,_type){
var _hdTotal = document.getElementById("hdtotal").value;
var _hdNum = document.getElementById("hdNum").value;
var _result;

if (_type == "pc") { // เปอร์เซนต์ 

var _percent = document.getElementById("percent"+_id).value;
if(isNaN(_percent)) _percent = 0;
if (_percent != 0) {
_result = ((_hdTotal / 100)*_percent);
document.getElementById("amt"+_id).value = _result.toFixed(2);
}
else{
document.getElementById("amt"+_id).value = "";
}

//Check %
var _sum=0;
var _sumVal=0;
for(var i=1;i<_hdNum;i++){
var _pc = document.getElementById("percent"+i).value;
if(isNaN(_pc)) _pc = 0;
_sum += (_pc * 1);
if(_sum > 100 && _pc != 0){ // > 100%
alert("เกิน 100 % ค่ะ")
for(var j=1;j<i;j++){
var _val = document.getElementById("percent"+j).value;
if(isNaN(_val)) _val = 0;
_sumVal += (_val * 1);
}
_percent = (100 - _sumVal); // %
_result = ((_hdTotal / 100) * _percent); // amt
document.getElementById("percent"+i).value = _percent;
document.getElementById("amt"+i).value = _result.toFixed(2);
}
}

}
else if (_type == "amt") { // จำนวนเงิน

var _amt = document.getElementById("amt"+_id).value;
if(isNaN(_amt)) _amt = 0;
if (_amt != 0) {
_result = (100-((_hdTotal - _amt)/_hdTotal*100));
document.getElementById("percent"+_id).value = _result.toFixed(2);
}
else{
document.getElementById("percent"+_id).value = "";
}

//Check %
var _sum=0;
var _sumVal=0;
for(var i=1;i<_hdNum;i++){
var _pc = document.getElementById("percent"+i).value;
if(isNaN(_pc)) _pc = 0;
_sum += (_pc * 1);
if(_sum > 100 && _pc != 0){ // > 100%
alert("เกิน 100 % ค่ะ")
for(var j=1;j<i;j++){
var _val = document.getElementById("percent"+j).value;
if(isNaN(_val)) _val = 0;
_sumVal += (_val * 1);
}

if(_sumVal > 100){
_percent=0;
_result=0;
}else{
_percent = (100 - _sumVal); // %
_result = ((_hdTotal / 100) * _percent); // amt
}

document.getElementById("percent"+i).value = _percent;
document.getElementById("amt"+i).value = _result.toFixed(2);
}
}
} 

			var _sum=0;
			for(var i=1;i<_hdNum;i++){
				var _percent = document.getElementById("amt"+i).value;
				if(isNaN(_percent)) _percent = 0;
				_sum += (_percent * 1);
			}
            document.getElementById("total").value = (_hdTotal - _sum);

}

</script>
<body>

    <form name="form1" method="post" action="save9.php">

        <table width="572" border="1" align="center">
          <tr>
            <td width="50" align="center">ลำดับที่</td>
            <td width="170" align="center">รายการ</td>
            <td width="144" align="center">เปอร์เซ็นต์</td>
            <td width="158" align="center">จำนวนเงิน</td>
          </tr>
          <?	
	$b=1;
		
		?>
          <input type="hidden" name="one" id="one" value="100"/>
          <p align="center">จำนวนเงินทั้งหมด
            <input type="text" name="total" id="total" value="1000">
			<input type="hidden" name="hdtotal" id="hdtotal" value="1000">
            <?
		$table="select* from saving_type where Mem_ID='".$_SESSION['Mem_ID']."'";
		//$table="select * from saving_type ORDER BY Sav_Type_ID ASC";
		$table1=mysql_query($table);
		$rows=mysql_num_rows($table1);

  		while($table3=mysql_fetch_assoc($table1)){
    ?>
          <tr>
            <td align="center"><? echo $b; ?></td>
            <td align="center"><? echo $table3['sav_Type_Name']?>
              <input type="hidden" name="sav_Type_ID<?=$b?>" value="<?=$table3['sav_Type_ID'];?>"></td>
            <input type="hidden" name="Sav_Date_Start<?=$b?>" value="<? echo date('Y-m-d')?>">
            <?php  $mount = date('m');
				if($mount=12){
					$day=date('d'); $mount=1; $year=date('Y')+1;
				}
				else{
					$day=date('d'); $mount=date('m')+1; $year=date('Y');		
				}
						 ?>
            <input type="hidden" name="Sav_Date_stop<?=$b?>" value="<? echo $year."-0".$mount."-".$day?>">
            <td align="center"><input type="text" name="percent<?=$b;?>" id="percent<?=$b;?>" value="0" maxlength="3" onKeyPress="return num_key(event);" onKeyUp="calculate('<?=$b;?>','pc');"/></td>
            <td align="right"><input type="text" name="amt<?=$b;?>" id="amt<?=$b;?>" value="0.0" maxlength="10" onKeyPress="return num_key(event);" onKeyUp="calculate('<?=$b;?>','amt');"/></td>
            <? 
$b++;
}
?>
<input type="hidden" name="hdNum" id="hdNum" value="<?=$b;?>">
        
      </tr>
      </table>
    </form>

</body>
        
        </html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-01 14:47:22 By : thep
 

 

No. 3



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



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


ขอบคุณพี่ thep มากมายค่ะ หนูทำตั้งหลายแล้ว ขอบคุณมากๆๆค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-06-01 21:22:54 By : becauselove
 

   

ค้นหาข้อมูล


   
 

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