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



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



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




report_pay1

ต้องการออกรายงานการชำระเงิน โดยมีวงเงิน(หมายเลข 1) หักด้วยจำนวนเงินในแต่ละงวด(หมายเลข 2) = ยอดค้างชำระ(หมายเลข3) ลูกค้าแบ่งจ่ายเป็นงวด 5 งวดๆละ เท่าๆ กัน (ไม่มีการคิดดอกเบี้ย, ค่าปรับ ฯลฯ) และต้องคิดเฉพาะเลขที่สัญญา นั้นๆ ค่ะ เช่น เลขที่สัญญา CRT000000 ลูกค้า มาชำระเงินแล้ว 3 งวด ในแต่ละงวดก็ต้องบอกว่า มียอดค้างชำระกี่บาท

แต่ติดปัญหาคือ เลขที่สัญญาถัดไปหรือลูกค้าคนถัดไป ยอดค้างชำระมันผิด(หมายเลข 4) และก็ติดลบค่ะเพราะว่ามันไปเอายอดในสัญญาเดิมมาคิดด้วย

รบกวนพี่ๆ ช่วยให้แนวคิด หรือคำแนะนำ หน่อยนะคะ

ขอบคุณค่ะ



Tag : PHP, MySQL









ประวัติการแก้ไข
2014-03-10 15:42:55
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-03-10 15:41:54 By : Livethai View : 1680 Reply : 12
 

 

No. 1



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



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

ต้องดูโค้ด และ Query เท่านั้นครับ ถึงจะช่วยได้






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-10 15:52:46 By : kerb
 


 

No. 2



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



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


Code (PHP)
<?php
if(($_GET["date1"])&&($_GET["date2"]) != "") //รับวันที่
	{
		
$date1=$_GET['date1'];	
$date2=$_GET['date2'];	

 $d1=substr($date1,0,2);
 $d2=substr($date1,3,2);
 $d3=substr($date1,6,7); 
 
 $d4=substr($date2,0,2);
 $d5=substr($date2,3,2);
 $d6=substr($date2,6,7);

 $new_date1=$d3."-".$d2."-".$d1;
 $new_date2=$d6."-".$d5."-".$d4;
 
	$strSQL = "SELECT * FROM payments WHERE pay_date BETWEEN '".$new_date1."' AND '".$new_date2."'";
	$objQuery = mysql_query($strSQL);		 
	$row=mysql_num_rows($objQuery);	
	$nn=0;
		while($objResult = mysql_fetch_array($objQuery))
		{
			$pay_date1=$objResult["pay_date"];
			$new_est=substr($pay_date1,0,10);
		}
 					
	$sql2="SELECT * from contract order by crt_id"; //รายละเอียดการทำสัญญา
	$query2=mysql_query($sql2) or die(mysql_error());				
						while($result2 = mysql_fetch_array($query2)) 
						{
							$crt_id = $result2['crt_id'];
							$cus_id = $result2['cus_id'];
							$crt_price = $result2['crt_price'];
							$total_time = $result2['crt_time'];
		
	
		$sql_cus ="SELECT * from customer where cus_id='".$cus_id."'"; 			
		$qry_cus=mysql_query($sql_cus) or die(mysql_error());	
							while($result_cus= mysql_fetch_array($qry_cus))
							{
								$cus_name1=$result_cus["cus_name"];
								$cus_surname1=$result_cus["cus_surname"];	
								
		$sql1="Select * From payments where crt_id='".$crt_id."' and pay_date BETWEEN '".$new_date1."'";
		$sql1.=" AND '".$new_date2."' order by pay_id"; //เลขที่สัญญา
		$qry_1=mysql_query($sql1) or die(mysql_error());
		$rowp=mysql_num_rows($qry_1);	
						while($result_1= mysql_fetch_array($qry_1))
							{				
								$pay_price=$result_1["pay_price"];							
								$pay_date=$result_1["pay_date"];					
								$new_date=substr($pay_date,0,10);	
								$amount += $pay_price;
								$price = $crt_price - $amount;	  //ค้างชำระ
								
						if($row>0)
							{
?>	
	  <tr>
		<td align="center"><?=Datethai($new_date);?></td>
		<td><div align="center"><?=$crt_id;?></div></td>
		<td align="center"><?=$cus_name1." ".$cus_surname1;?></td>        
       	<td align="center"><?=$pay_price;?></td> 
		<td align="center"><?=$price;?></td>    			
	  </tr>
<?php
		$nn++;
					}// if row>0
				} // while pay 
  			 } 	//while cus
 
		if($new_date1&& $new_date2 !="" && $row>0)
			{
				$sql_p="Select sum(pay_price) as total From payments where crt_id='".$crt_id."'"
				$sql_p.=" and pay_date BETWEEN '".$new_date1."' AND '".$new_date2."'"; //เลขที่สัญญา
				$qry_p=mysql_query($sql_p) or die(mysql_error());
					while($result_p= mysql_fetch_array($qry_p))
						{				
							$pay_price1=$result_p["total"];
							 	if($pay_price1==0)
								{
									echo "";
								}else{
							
	?>
        <tr>
        <td colspan="3" align="right">
        รวมเงินที่ต้องชำระทั้งสิ้น
        </td>
        <td align="center">
        <?php echo "<span class='order-underline'>"."<b>".number_format($pay_price1,2,".",",")."<b>"."</span>";?>
        </td>
        <td>
        </td>
        </tr>
<?
								}	//else $payprce1 =0
					}   // if row>0
			} //while sum payprice
		}
	}
}
		
?>
</table> 

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-10 18:24:04 By : Livethai
 

 

No. 3



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



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

Code (PHP)
while($result2 = mysql_fetch_array($query2))
032.
{
$price =0; //เน้นตรงนี้เป็นการล้างค่าทุกครั้งที่เปลี่ยนเลขที่
033.
$crt_id = $result2['crt_id'];
034.
$cus_id = $result2['cus_id'];
035.
$crt_price = $result2['crt_price'];
036.
$total_time = $result2['crt_time'];

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-10 23:50:18 By : dekkuza
 


 

No. 4



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



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


Code (PHP)
while($result2 = mysql_fetch_array($query2))

{
$amount=0; //เน้นตรงนี้เป็นการล้างค่าทุกครั้งที่เปลี่ยนเลขที่ 
$crt_id = $result2['crt_id'];
$cus_id = $result2['cus_id'];
$crt_price = $result2['crt_price'];
$total_time = $result2['crt_time'];



ถ้าเริ่มเลขที่สัญญาใหม่ เอาตัวแปรที่สะสมเงินในแต่ละงวด($amount) ให้ค่า=0 ก่อน ผลลัพธ์ถูกต้องแล้วค่ะ
ขอบคุณสำหรับแนวทางนะคะ


ประวัติการแก้ไข
2014-03-11 08:41:23
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-11 08:31:12 By : Livethai
 


 

No. 5

Guest


ตอบความคิดเห็นที่ : 4 เขียนโดย : Livethai เมื่อวันที่ 2014-03-11 08:31:12
รายละเอียดของการตอบ ::


# NO 106752 คุณจะเชื่อผมไหมว่า?

ผมไม่จำเป็นต้องเขียนโปรแกรม หรือ SQL Query แม้แต่บรรทัดเดียว เพื่อให้ได้รายงาน (ความความต้องการแบบนี้)

แล้วก็ให้ได้แบบนี้ (และยิ่งกว่ารายงาน)

ximpossible

... Good Luck ..
... Mind son
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-11 15:23:14 By : love9713
 


 

No. 6

Guest


ตัวอย่างรายงาน เบื้องต้น ง่ายฯ

***** มันต้องอย่างนี้ครับ
xrpt00001



[x] ผมหวังว่าคุณจะ 'มองออก' และประยุกต์ใช้งานได้
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-11 16:31:47 By : love9713
 


 

No. 7

Guest


Code (JavaScript) Clients Print
window.print();  // แบบบนี้ผมไม่ใช้หรอกครับ



มันต้องอย่างนี้ ผ่านเวป TCP/IP RAW Clients/Server Print Real time.(ESC/P)
-- เครื่องพิมพ์ใบเสร็จ Clients อทิเช่น
--- POS.NET, etc...
-- เครื่องพิมพ์ etc
-- etc...
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-11 16:43:16 By : love9713
 


 

No. 8

Guest


#NO 7 อธิบายเพิ่มเติมเผื่อไม่เข้าใจ

ยกตัวอย่าง 8ven eleven สาขาหาดใหญ่ สั่งพิมพ์ใบเสร็จมาที่
ยกตัวอย่าง 8ven eleven เครื่องพิมพ์ สาขานครสวรรค์ (สาขาไหนก็ได้)

แม้แต่ Team 8ven eleven ทั้งหมด ทำได้หรือไม่? (IT + Out source เงินเดือนรวมกันเดือนละหลายล้าน)


ลองไปคิดดูครับ (ลับสมอง)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-11 16:52:17 By : love9713
 


 

No. 9

Guest


window.print();
// แบบบนี้ผมรู้ตั้งแต่ปี พ.ศ. 2004 แล้วครับ (สุดโบราณ)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-11 16:58:28 By : love9713
 


 

No. 10



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



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


ขอบคุณ คำแนะนำ No.5-No.7 เป็นอย่างสูงค่ะ คงจะต้องไปศึกษา

=> TCP/IP RAW Clients/Server Print Real time.(ESC/P)
-- เครื่องพิมพ์ใบเสร็จ Clients อทิเช่น
--- POS.NET, etc...
-- เครื่องพิมพ์ etc
-- etc...



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-11 17:00:14 By : Livethai
 


 

No. 11

Guest


แก้ไข #NO 9 // แบบบนี้ผมรู้ตั้งแต่ปี พ.ศ. 2004 แล้วครับ (สุดโบราณ)
เป็นดังนี้ ผมเลิกใช้หลังจากพระพุทธเจ้า เสด็จปรินิพพาน ไม่กี่ปีเองครับ

และจาก #NO 9 - ตรงนี้ ลองไปคิดดูครับ (ลับสมอง)
(ผมอธิบายไม่ได้หรอกครับ ถ้าผมทำไม่ได้ ไล่ตั้งแต่ #NO 5 - 9

Good Luck.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-11 17:04:16 By : love9713
 


 

No. 12

Guest


ตอบความคิดเห็นที่ : 10 เขียนโดย : Livethai เมื่อวันที่ 2014-03-11 17:00:14
รายละเอียดของการตอบ ::
คุณต้องศึกษา และรู้มากกว่านี้ให้ได้ครับ #NO5 - 9 (ถ้าจะยืนหยัดอยู่บนทางสายนี้)


Good Luck.
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-03-11 17:06:36 By : love9713
 

   

ค้นหาข้อมูล


   
 

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