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 : 093161



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



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



P1

ตามรูปด้านบน เมื่อเปลี่ยน จำนวนสินค้าในช่องจำนวน ราคาในช่องรวมเงินจะเปลี่ยน

สามช่องด้านล่างจะเปลี่ยนด้วย ปัญหาคือ ถ้าใบสั่งซื้อใบนั้นมีสินค้าแค่อย่างเดียว

มันจะไม่คำนวนอะไรเลย ซึ่งจะไม่เกิดขึ้นกับใบสั่งซื้อที่มีรายการมากว่า 1 รายการ

ไม่ทราบว่าผิดพลาดตรงไหน หรือส่วนไหนครับผม

นี่ครับโค้ด php ในส่วนส่งค่าให้ javascript ครับ ส่วน โค้ด javascript อยู่ด้านล่างครับ

Code (PHP)
<table style="width:90%" border="0" align="center" bgcolor="#FFFFFF">
			<tr  height="40" bgcolor="#69c750">
                
              <td align="center" width="50"><h3>ลำดับ</h3></td>
              <td align="center" width="70"><h3>รหัสสินค้า</h3></td>
                <td align="center" width="300"><h3>ชื่อสินค้า</h3></td>
                <td align="center" width="80"><h3>ราคา/หน่วย</h3></td>
                <td align="center" width="60"><h3>จำนวน</h3></td>
                <td align="center" width="80"><h3>รวมเงิน</h3></td>
		  </tr>

			<?php
				 $sum="";
				 $discount = "";
				 $net="";
				$i=1;
				while($row = mysql_fetch_array($myData)){
				$p_id =$row["pID"];
				$pname =$row["pro_name"];
				$pro_qty = $row['pro_qty'];
				$price = $row["price"];
				$price1 = number_format($price, 2);
				$qty = $row['sale_qty'];
				$total = $row['total'];
				$totalC = number_format($total, 2);
				$netPrice = $row['netPrice'];
					
	echo "<tr height='30' bgcolor='#CCFFCC'>";   
	echo "<td align='center'>$i<input type = 'hidden' name = 'txtid$i' size='10' value ='" . $sID . "'/></td>";
	echo "<td align='center'>$p_id<input type = 'hidden' name = 'HDtxtpid$i' size='10' value ='" . $p_id . "'/>
	<input type = 'hidden' name = 'proQty$i' id = 'proQty$i' value ='" . $pro_qty . "'/>	
	</td>";
	echo "<td align='left'>  $pname</td>";
	
	//echo "<td><input type = 'text' name = 'proID$i' size='20' value = '$p_id' readonly='true' style='text-align:right;'></td>";
	//echo "<td><input type = 'text' name = 'name$i' value = '$pname' readonly='true' style='text-align:right;'></td>";
	echo "<td><input type = 'text' name = 'Sprice$i' id = 'Sprice$i' value = '".number_format($price,2)."' readonly='true' style='width:85px;text-align:right;font-size:16px;'>
			<input type = 'hidden' name = 'price$i' id = 'price$i' value = '$price'/></td>";
	
	echo "<td><input type = 'text' name = 'amount$i' maxlength='3' onkeyup='caculate($i)' id = 'amount$i' value = '$qty' style='width:55px;text-align:right;font-size:16px;' onKeyPress='check_number(event);'>
	<input type = 'hidden' name = 'HDamount$i' value = '$qty'/>
</td>";//เก็บจำนวนซื้อสินค้าเก่า
	
	echo "<td><input type = 'text' name = 'total$i' id = 'total$i' value = '$total' readonly='true' class='total' style='width:105px;text-align:right;font-size:16px;'>
	
</td><br />";

		 echo " </tr>";
				
		   	$sum =($sum + $total);
		
			$i++;
			}
			
	
		?>
      <input type='hidden' value="<?php echo $i ?>" name="rows"/><br/>
		</table>
       
        <br/>
         <!--</div>--></center>
        <table align="right"> 
         <?php if($mID !="-"){
			  
			   $discount = ($sum * 25)/100;
			  // echo $discount;
		   	   $net = ($sum - $discount);
			   //echo $net;
		   ?>
           <tr>    
           
           <td align="right"><b><font size="3">รวมเงินทั้งสิ้น  </font></b></td>
           <td>&nbsp;<input type="text" name="txtsum" id="txtsum" value="<?php echo number_format($sum,2); ?>" style="width:150px;text-align:right;font-size:18px;" readonly="true" class='sum'/></b>
           <input type="hidden" name="HDtxttsum" id="txtsum1" value="<?php echo $sum; ?>">
           </td>
           <td width="50"></td>
           </tr>
          
           <tr>
               <td align="right"><b><font size="3">ส่วนลด 25 % </font></b></td>
               <td>&nbsp;<input type="text" name="txtdiscount" id="txtdiscount" value="<?php echo number_format($discount,2);?>" style="width:150px;text-align:right;font-size:18px;" readonly="true" /></td>
               <td></td>
           </tr>
           <tr>
            <td align="right"><b><font size="3">รวมเงินสุทธิ </font></b></td>
             <td>&nbsp;<input type="text" name="txtnet" id="txtnet"  value="<?php echo  number_format($net,2);?>" style="width:150px;text-align:right;font-size:18px;" readonly="true"/>
               <input type="hidden" name="HDtxtnet" id="txtnet"  value="<?php echo $net;?>">
</td>
               <td></td>
           </tr>
           <?php }
		   
		  else if($mID ="-") {
			   $discount = 0;
			  // echo $discount;
		   	   $net = ($sum - $discount);
			   //echo $net;
			   
		  ?>
           <tr>    
           
           <td align="right"><b><font size="3">รวมเงินทั้งสิ้น  </font></b></td>
           <td>&nbsp;<input type="text" name="txtsum" id="txtsum" value="<?php echo number_format($sum,2); ?>" style="width:150px;text-align:right;font-size:18px;" readonly="true" class='sum'/></b>
           <input type="hidden" name="HDtxttsum" id="txtsum1" value="<?php echo $sum; ?>">
           </td>
           <td width="50"></td>
           </tr>
           
             <tr>
               <td align="right"><b><font size="3">ส่วนลด  </font></b></td>
               <td>&nbsp;<input type="text" name="txtdiscount" id="txtdiscount" value="<?php echo number_format($discount,2);?>" style="width:150px;text-align:right;font-size:18px;" readonly="true" /></td>
               <td></td>
           </tr>
           
           <tr>
            <td align="right"><b><font size="3">รวมเงินสุทธิ </font></b></td>
             <td>&nbsp;<input type="text" name="txtnet" id="txtnet"  value="<?php echo  number_format($net,2);?>" style="width:150px;text-align:right;font-size:18px;" readonly="true"/>
               <input type="hidden" name="HDtxtnet" id="txtnet"  value="<?php echo $net;?>"/>
</td>
               <td></td>
           </tr>
           <?php }?>    
      </table> 


และนี้คือโค้ด Java เพื่อคำนวนครับผม
Code (VBScript)
function caculate(i)  // ฟั่งชั่นบวกราคา รับค่าเลข id มา
  {
   	p = "#price"+i;   // ตัวแปรเก็บค่า id ของ input ราคา
    m = "#amount"+i;   // ตัวแปรเก็บค่า id ของ input จำนวน
    t = "#total"+i;
	//alert(i);
	aa = "#amount"+i;
	bb = "#proQty"+i;
	var qtynew = $(aa).val();
	var qtyold = $(bb).val();
	//alert("qtynew = "+qtynew+" qtyold = "+qtyold)
	
if(parseInt(qtynew)==0)
{ 
	alert("จำนวนสินค้า ต้องไม่เท่ากับ 0"); 
	$(aa).val('');
	$(t).val('0'); // ช่องรวมว่าง
    totalCalculate()//คิดยอดรวม
			
}
else{
	if(parseInt(qtynew) > parseInt(qtyold))
		{ 
		alert("จำนวนสินค้าคงเหลือน้อยกว่าจำนวนที่ขาย");
		$(aa).val('');
		    $(t).val('0'); // ช่องรวมว่าง
            totalCalculate()//คิดยอดรวม
			
		}
		else{
		
        if($(p).val()>0 && $(m).val()>0){ // ถ้าช่องราคาำและจำนวนมากกว่า 0
            $all = $(p).val()*$(m).val(); //ราคา+จำนวน ไว้ใน $all
            $(t).val($all);//  รวมค่า
            totalCalculate(); // คิดยอดรวม
			
        }else if($(p).val()<=0 || $(m).val()<=0){ // ถ้าราคา หรือ จำนวน น้อยกว่า 0 
            $(t).val('0'); // ช่องรวมว่าง
            totalCalculate();//คิดยอดรวม
			
        	}
		}
      }
  }
function totalCalculate(){
     $i = $(".total").length-1;  // นับจำนวนรวม
     f = $(".total").eq(0).val();  // เก็บค่าช่องรวมตัวแรกไว้
     if(f>=0){  // ถ้ารวมตัวแรกมีค่ามากกว่า 0
     for(x=1;x<=$i;x++){  // วนลูปเก็บค่ารวมแต่ละช่อง
       $xx = $(".total").eq(x).val();
       if($xx>0){ // ถ้าช่องรวมแต่ละตัวมีค่ามากกว่า 0 
         f = parseInt(f)+parseInt($xx);  // ให้บวกค่าช่องรวมตัวแรก กับ ช่องรวมตัวนั้นๆ
       }
     }
     $("#all").val(f); 
	 parseFloat(document.getElementById('txtsum').value= addCommas(f.toFixed(2)));
	 parseFloat(document.getElementById('txtsum1').value=f);
     }
	 /// คำนวณส่วนลด
	  d = "#discount";//  // ตัวแปรเก็บค่า id ของ input รวม
	dis = "#txtdiscount";
	net = 0;
  
  if($(d).val() == "-")
	{ 
		gg = 0 
		net = parseFloat(f)
	}
	else
	{
		 gg = parseFloat(f) * 0.25;
		 net = parseFloat(f) - parseFloat(gg);
	}
	
  parseFloat(document.getElementById('txtdiscount').value = addCommas(gg.toFixed(2)));
  parseFloat(document.getElementById('txtnet').value = addCommas(net.toFixed(2)));
   parseFloat(document.getElementById('HDtxtnet').value = net.toFixed(2));
 }




Tag : PHP, MySQL, HTML/CSS, JavaScript







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-03-29 15:28:23 By : nutzaaclub View : 1005 Reply : 2
 

 

No. 1



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

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

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

ใช้พวก OnChange เข้ามาจัดการกับ Event น่ะครับ แค่อ่านค่าแล้วเอาไปคำนวณครับ ไม่น่าจะยาก






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-30 07:27:37 By : mr.win
 


 

No. 2



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



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

คือว่า มันคำนวนครับ เพราะผมใช้ event onKeyup จับนะครับ แต่มันคำนวนเฉพาะใบที่่มีมากกว่า 1 รายการ รายการเดียวมันไม่ทำอะไรเลยครับ หรือว่ามัน ไม่เหมือนกัน กับ OnChange
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-03-30 09:40:41 By : nutzaaclub
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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 05
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 อัตราราคา คลิกที่นี่