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

HOME > PHP > PHP Forum > Script ที่คำนวณ วนลูปผิดตรงไหนค่ะรบกวนหน่อยค่ะ ค่าที่คำนวณไม่ถูกค่ะ



 

Script ที่คำนวณ วนลูปผิดตรงไหนค่ะรบกวนหน่อยค่ะ ค่าที่คำนวณไม่ถูกค่ะ

 



Topic : 051734



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



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




ๅ
ถ้าคำนวณสองเรคคอร์ดขึ้นไปค่าใน Total มันจะไม่ถูกต้องค่ะ มันจะไม่นำค่า Sumtotal มาบวกกันแล้วโชว์ใน Total8jt
2
แล้วถ้าเราต้องการแค่เรคคอร์ดเดียว มันกับไม่เอาค่าเรคคอร์ดล่าสุดมาโชว์ ไม่ทราบว่าต้องเขียนหรือปรับปรุงโค้ดตรงไหนหรือเปล่าค่ะ
ไม่เข้าใจค่ะ รบกวนด้วยค่ะ

โค้ด 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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- TemplateBeginEditable name="doctitle" -->
<title>PO Customer</title>
<style type="text/css">
<!--
.style2 {font-family: "Arial Unicode MS"; font-size: small; }
.style4 {font-family: "Arial Unicode MS"; font-size: small; color: #CCFF33; }
.style5 {
font-family: "Arial Unicode MS";
color: #000000;
font-weight: bold;
}
-->
</style>

<script language="JavaScript">
var HttPRequest = false;

function doCallAjax(fITEMNO,fITEMNAME,fSPEC,fSIZE,fCURR,fSALES) {
HttPRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}

if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}

var url = 'http://localhost/adt_base/AjaxGetFill.php';
var pmeters = "tITEMNO=" + encodeURI( document.getElementById(fITEMNO).value);

HttPRequest.open('POST',url,true);

HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);


HttPRequest.onreadystatechange = function()
{

//if(HttPRequest.readyState == 3) // Loading Request
//{
//document.getElementById(fProductName).innerHTML = "..";
//}

if(HttPRequest.readyState == 4) // Return Request
{
var myProduct = HttPRequest.responseText;
if(myProduct != "")
{
var myArr = myProduct.split("|");
document.getElementById(fITEMNAME).value = myArr[0];
document.getElementById(fSPEC).value = myArr[1];
document.getElementById(fSIZE).value = myArr[2];
document.getElementById(fCURR).value = myArr[3];
document.getElementById(fSALES).value = myArr[4];
}
}

}

}
</script>
<script language="javascript">
function fncCal()
{
var tot = 0;
var sum = 0;
for(i=1;i<=document.form1.hdnLine.value;i++)
{
tot = parseInt(eval("document.form1.txtPCS1_"+i+".value")) * parseInt(eval("document.form1.txtSALES1_"+i+".value"))
eval("document.form1.txtSUM1_"+i+".value="+tot);
sum = tot + tot;
document.form1.txtSUMTOTAL.value=sum;
}
}</script>
</head>

<body>
<form action="page.cgi" method="post" name="form1">
<table width="1141" border="1" align="center">
<tr bordercolor="#FF0000" bgcolor="#555555" class="style2">
<td width="76"><div align="center">
<span class="style4">ITEM NO</span></td>
<td width="167"> <div align="center">
<span class="style4">ITEM NAME</span></td>
<td width="192"><div align="center">
<span class="style4">SPEC</span></td>
<td width="167"><div align="center">
<span class="style4">SIZE</span></td>
<td width="180"><div align="center">
<span class="style4">PCS</span></td>
<td width="128"><div align="center">
<span class="style4">CURR</span></td>
<td width="119"><div align="center">
<span class="style4">UNITPRICE</span></td>
<td width="60"><div align="center">
<span class="style4">SUM TOTAL</span></td>
</tr>
<tr>
<td><lable>
<div align="center">
<input type="text" name="txtITEM_NO1" id="txtITEM_NO1" size="5" OnChange="JavaScript:doCallAjax('txtITEM_NO1','txtITEM_NAME1','txtSPEC1','txtSIZE1','txtCURR1','txtSALES1_1');">
</div></th>
<th><input type="text" name="txtITEM_NAME1" id="txtITEM_NAME1" size="10"></th>
<th><input type="text" name="txtSPEC1" id="txtSPEC1" size="10"></th>
<th><input type="text" name="txtSIZE1" id="txtSIZE1" size="10"></th>
<th><input type="text" name="txtPCS1[]" id="txtPCS1_1" size="5" ></th>
<th><input type="text" name="txtCURR1" id="txtCURR1" size="5"></th>
<th><input type="text" name="txtSALES1[]" id="txtSALES1_1" size="10"></th>
<th><input type="text" name="txtSUM1[]" id="txtSUM1_1" size="10" ></th>
</tr>
<tr>
<th>
<div align="center">
<input type="text" name="txtITEM_NO2" id="txtITEM_NO2" size="5" OnChange="JavaScript:doCallAjax('txtITEM_NO2','txtITEM_NAME2','txtSPEC2','txtSIZE2','txtCURR2','txtSALES1_2');">
</div></th>
<th><input type="text" name="txtITEM_NAME2" id="txtITEM_NAME2" size="10"></th>
<th><input type="text" name="txtSPEC2" id="txtSPEC2" size="10"></th>
<th><input type="text" name="txtSIZE2" id="txtSIZE2" size="10"></th>
<th><input type="text" name="txtPCS1[]" id="txtPCS1_2" size="5"></th>
<th><input type="text" name="txtCURR2" id="txtCURR2" size="5"></th>
<th><input type="text" name="txtSALES1[]" id="txtSALES1_2" size="10"></th>
<th><input type="text" name="txtSUM1[]" id="txtSUM1_2" size="10"></th>
</tr>
<input type="hidden" name="hdnLine" value="5">
<tr>
<th>
<div align="center">
</div></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th></th>
<th>Total</th>
<th><input type="text" name="txtSUMTOTAL" id="txtSUMTOTAL" size="10"></th>
<th> <input name="btnCal" type="button" value="Cal" OnClick="JavaScript:fncCal();"></th>
</tr>
</table>
</form>
</body>
</html>



Tag : PHP, MySQL, JavaScript, Ajax







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-11-16 10:29:58 By : taewengja View : 1204 Reply : 3
 

 

No. 1

Guest


<script language="javascript">
function fncCal()
{
var tot = 0;
var sum = 0;
for(i=1;i<=document.form1.hdnLine.value;i++)
{
tot = parseInt(eval("document.form1.txtPCS1_"+i+".value")) * parseInt(eval("document.form1.txtSALES1_"+i+".value"))
eval("document.form1.txtSUM1_"+i+".value="+tot);
sum = tot + tot;
document.form1.txtSUMTOTAL.value=sum;
}
}</script>


ตรงนี้น่าจะเป็น

<script language="javascript">
function fncCal()
{
var tot = 0;
var sum = 0;
for(i=1;i<=document.form1.hdnLine.value;i++)
{
tot = parseInt(eval("document.form1.txtPCS1_"+i+".value")) * parseInt(eval("document.form1.txtSALES1_"+i+".value"))
if (isNaN(tot)) tot = 0; //ค่าว่างเอามาคำนวนจะได้เป็น NaN ดังนั้นต้องเปลี่ยนเป็น 0
eval("document.form1.txtSUM1_"+i+".value="+tot);
sum += tot; //บวกค่าเพิ่มให้ sum
}
document.form1.txtSUMTOTAL.value=sum;
}</script>






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 11:03:34 By : num
 


 

No. 2



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

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

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

ใช้ parseFloat แทนครับ ส่วนที่ชื่อ NaN ให้เชคว่าเป็นตัวเลขหรือไม่ ถ้าเป็นค่อยบวก ใช้ function isNaN()
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 11:05:00 By : webmaster
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : num เมื่อวันที่ 2010-11-16 11:03:34
[quote- ตอบความคิดเห็นที่ : 1 เขียนโดย : num เมื่อวันที่ 2010-11-16 11:03:34
รายละเอียดของการตอบ ::
แล้วค่าตรง Total ทามไมไม่โชว์ค่ะ มันไม่ Sum ให้หรอค่ะ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2010-11-16 11:32:27 By : taewengja
 

   

ค้นหาข้อมูล


   
 

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