 |
ช่วยดูโค๊ดทีครับ Loop ตัว Auto sum แล้วไม่ออก แต่ถ้าไม่ Loop ออกครับ |
|
 |
|
|
 |
 |
|
ตัวโค้ดนี้ครับ ผมจะ loop ให้มันแสดง <input name='sum[]' id='txtVol3_[$i]' type='text'> ครับ ทำให้แล้วมันไม่ออก แต่ถ้าเอาไว้นอก loop แล้วกำหนดตายตัวมันออกปกติครับ ขอบคุณครับ
Code (PHP)
$cnt=count($_SESSION['smat_id']);
echo "<form method='post' action='recalculate.php' name='form1'>";
echo "<table class='table table-striped table-bordered table-hover' id='dataTables-example'>";
echo "<tr><th><center>ยกเลิก</center></th><th><center>รหัสวัสดุ</center></th><th><center>ชื่อวัสดุ</center></th><th><center>จำนวนคงเหลือ</center></th><th><center>หน่วยนับ</center></th><th><center>ประเภท</center></th><th><center>ราคาต่อหน่วย</center></th><th><center>จำนวนที่จะสั่งซื้อ</center></th><th><center>ราคารวม</center></th></tr>";
$u=$_SESSION['smat_unit'];
$t=$_SESSION['smat_type'];
$id=$_SESSION['smat_id'];
for($i=0;$i<$cnt;$i++){
$sql3=mysql_query("SELECT price_unit FROM stock WHERE mat_id='$id[$i]'");
list($pu)=mysql_fetch_row($sql3);
$sql=mysql_query("SELECT mat_unit_name FROM unit WHERE mat_unit_id='$u[$i]'");
list($unit)=mysql_fetch_row($sql);
$sql2=mysql_query("SELECT mat_type_name FROM type WHERE mat_type_id='$t[$i]'");
list($type)=mysql_fetch_row($sql2);
echo "<tr><td align='center'><input type='checkbox' name='cancel_id[]' value='",$id[$i],"'></td>";
echo "<td align='center'>",$id[$i],"</td>";
echo "<td align='center'>",$_SESSION['smat_name'][$i],"</td>";
echo "<td align='center'>",$_SESSION['smat_stock'][$i],"</td>";
echo "<td align='center'>",$unit,"</td>";
echo "<td align='center'>",$type,"</td>";
echo " <td><input name='price_unit[]' id='txtVol1_[$i]' value='$pu' OnChange='JavaScript:fncCal();' type='text'> </td>
<td><input name='amount[]' id='txtVol2_[$i]' OnChange='JavaScript:fncCal();' type='text'></td>
<td><input name='sum[]' id='txtVol3_[$i]' type='text'><br></td></tr>";
echo "<input type='hidden' name='hdnLine' value='$cnt'>";
}
echo "</table>";
Code (JavaScript)
<script language="javascript">
function fncCal()
{
var tot = 0;
var sum = 0;
for(i=0;i<=document.form1.hdnLine.value;i++)
{
tot = parseInt(eval("document.form1.txtVol1_"+i+".value")) * parseInt(eval("document.form1.txtVol2_"+i+".value"))
eval("document.form1.txtVol3_"+i+".value="+tot);
sum = tot + sum;
document.form1.txtSum.value=sum;
}
}
</script>
Tag : PHP
|
ประวัติการแก้ไข 2015-05-01 15:46:38 2015-05-01 15:48:39 2015-05-01 15:49:15
|
 |
 |
 |
 |
Date :
2015-05-01 15:45:52 |
By :
odafla |
View :
877 |
Reply :
2 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ค่าตรงไหนไม่ออกครับ
|
 |
 |
 |
 |
Date :
2015-05-02 08:14:56 |
By :
mr.win |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอบความคิดเห็นที่ : 1 เขียนโดย : mr.win เมื่อวันที่ 2015-05-02 08:14:56
รายละเอียดของการตอบ ::
คือผมจะเอาค่า price_unit ในบรรทัดที่ 27 มา * ค่า amount ที่จะกรอกไปทีหลัง ในบรรทัดที่ 28 อะครับ แล้วให้คำนวน sum ออกมาในบรรทัด 29 ครับ
เพิ่มเติม ตอนนี้แก้เป็นแบบนี้แล้วครับ แต่คำนวนออกมาแค่บรรทัดเดียว
Code (PHP)
for($i=0;$i<$cnt;$i++){
$sql3=mysql_query("SELECT price_unit FROM stock WHERE mat_id='$id[$i]'");
list($pu)=mysql_fetch_row($sql3);
$sql=mysql_query("SELECT mat_unit_name FROM unit WHERE mat_unit_id='$u[$i]'");
list($unit)=mysql_fetch_row($sql);
$sql2=mysql_query("SELECT mat_type_name FROM type WHERE mat_type_id='$t[$i]'");
list($type)=mysql_fetch_row($sql2);
echo "<tr><td align='center'><input type='checkbox' name='cancel_id[]' value='",$id[$i],"'></td>";
echo "<td align='center'>",$id[$i],"</td>";
echo "<td align='center'>",$_SESSION['smat_name'][$i],"</td>";
echo "<td align='center'>",$_SESSION['smat_stock'][$i],"</td>";
echo "<td align='center'>",$unit,"</td>";
echo "<td align='center'>",$type,"</td>";
echo " <td><input name='price_unit[]' id='txtVol1_$i' value='$pu' OnChange='JavaScript:fncCal();' type='text'> </td>
<td><input name='amount[]' id='txtVol2_$i' OnChange='JavaScript:fncCal();' type='text'></td>
<td><input name='sum[]' id='txtVol3_$i' type='text'><br></td></tr>";
echo "<input type='hidden' name='hdnLine' value='$cnt'>";
}
Code (JavaScript)
function fncCal()
{
var tot = 0;
var sum = 0;
for(i=0;i<=document.form1.hdnLine.value;i++)
{
tot = parseInt(eval("document.form1.txtVol1_"+i+".value")) * parseInt(eval("document.form1.txtVol2_"+i+".value"))
eval("document.form1.txtVol3_"+i+".value="+tot);
sum = tot + sum;
document.form1.txtSum.value=sum;
}
}
|
ประวัติการแก้ไข 2015-05-02 11:27:40
 |
 |
 |
 |
Date :
2015-05-02 10:55:48 |
By :
odafla |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|