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 > อยากรู้วิธี sum เงินเดือนแยกแต่ละแผนกค่ะ ใครพอมีวิธีบางคะ ช่วยแนะนำหน่อย



 

อยากรู้วิธี sum เงินเดือนแยกแต่ละแผนกค่ะ ใครพอมีวิธีบางคะ ช่วยแนะนำหน่อย

 



Topic : 095370



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



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




ภาพตัวอย่าง



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-05-17 19:27:43 By : Pucca^^ View : 1973 Reply : 11
 

 

No. 1



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



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

ขอดู Table Structure ที่เก็บข้อมูลหน่อยครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-17 19:41:41 By : itpcc
 


 

No. 2



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



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


table emp
applicant_id (int10)
name (varchar30)
surname (varchar30)
section (varchar20)

table emp_asset
applicant_id (int10)
payroll (double15,2)

$sql_emp ="SELECT emp.applicant_id, emp.name, emp.surname, emp.section, emp_asset.payroll, FROM emp INNER JOIN emp_asset ON emp.applicant_id = emp_asset.applicant_id

ประมาณนี้อ่ะค่ะตารางจริง field มันเยอะค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-17 19:59:27 By : Pucca^^
 

 

No. 3



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



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

Code (SQL)
SELECT emp.name, emp.surname, emp.`section`, SUM(emp_asset.payroll) FROM emp LEFT JOIN emp_asset ON emp.applicant_id = emp_asset.applicant_id GROUP BY emp_asset.applicant_id


แล้วค่อยเก็บผลรวมของแต่ละแผนกตอนประมวลผลดูครับ


ประวัติการแก้ไข
2013-05-17 21:02:18
2013-05-17 21:02:35
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-17 20:53:01 By : itpcc
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : itpcc เมื่อวันที่ 2013-05-17 20:53:01
รายละเอียดของการตอบ ::
ใช้ sum แบบนี้มันก็รวมหมดทุกแผนกเลย ไม่ใช่หรอคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-17 20:59:24 By : Pucca^^
 


 

No. 5



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



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

ไม่ใช่ครับ อันนี้แยกผลรวมของแต่ละคนแล้วครับ
แต่ต้องแยกของแต่ละแผนกเอง - * -
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-17 21:01:57 By : itpcc
 


 

No. 6



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



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





ประวัติการแก้ไข
2013-05-18 10:19:09
2013-05-18 10:19:43
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-17 21:39:37 By : Pucca^^
 


 

No. 7

Guest


ทำซัก 2 loop น่าจะทำให้ดูง่ายขึ้นน่ะครับ
ทำ loop เดียวต้องมาทำ condition ใน loop
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 00:10:07 By : ผ่านมา
 


 

No. 8



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



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


ยังไงอ่ะคะ งงมาหลายวันแล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 09:13:16 By : Pucca^^
 


 

No. 9



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



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

"เงินเดือนแยกแต่ละแผนก" ความหมายของประโยคนี้คือ ต้องการแสดงเรียงไปทีละแผนกใช่หรือเปล่าครับ

ถ้าใช่ เพิ่ม ORDER by emp.section แต่ละแผนกข้อมูลก็จะออกมาเรียงแผนกครับ

Code (PHP)
$sql_emp ="SELECT emp.applicant_id, emp.name, emp.surname, emp.section, emp_asset.payroll ";
$sql_emp.=" FROM emp INNER JOIN emp_asset ON emp.applicant_id = emp_asset.applicant_id ";
//กรณีเงินเดือนเก็บข้อมูลแยกเป็นแต่ละเดือนไป
//$sql_emp.=" WHERE  field_month = '$select_month' ";
$sql_emp.=" ORDER by emp.section ";  // <-- บรรทัดนี้


แล้วตอนแสดงผล ในลูป ก็ใช้คำสั่ง if เพื่อเช็กว่าแถวปัจจุบัน เปลี่ยนแผนกรึยัง ถ้าเปลี่ยนก็แทรกแถวแสดงแผนกครับ


ปล. ก่อนแทรกแถว ถ้าผลรวมไม่ใช่ค่าว่าง ต้องแทรกผลรวมของแผนกก่อนหน้าแถวที่แสดงชื่อแผนกนะครับ ^^"


ประวัติการแก้ไข
2013-05-18 09:37:38
2013-05-18 09:38:05
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 09:36:06 By : Naizan
 


 

No. 10



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



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


ขอถามอีกอย่างนะคะถ้าต้องการให้รายชื่อที่ซ้ำกันแสดงแค่อันเดียวแบบในภาพตัวอย่าง ต้องทำไงคะ
ภาพตัวอย่าง

Code (PHP)
<TR bgcolor="#FFFFFF">
	<TD align="center"  class="border3"><?echo $row_com?></TD>
	<TD align="center" class="border4">&nbsp;<?echo $r['applicant_id']?></TD>
	<TD align="left" nowrap class="border4">&nbsp;<?echo $r['th_name']." ".$r['th_surname'];?></TD>
	       <TD align="left" class="border4">&nbsp;<?echo position_name($r['postion_id']);?></TD> <?//ตำแหน่ง?>
					  <TD align="left" class="border4">&nbsp;<?echo $r['type_asset']?></TD><?//ประเภท?>
					  <TD align="left" class="border4">&nbsp;<?echo $r['description']?></TD><?//ยี่ห้อ?>
					  <TD align="left" class="border4">&nbsp;<?echo $r['document_no']?></TD><?//เลขที่อ้างอิง?>
				  	<TD align="center" class="border4">&nbsp;<?echo $r['instalment']?></TD><?//จำนวนงวด?>
				  	<TD align="right" class="border4">&nbsp;<?echo $r['amount']?></TD><?//มูลค่าซื้อ?>
			  		<TD align="right" class="border4">&nbsp;<?echo $r['amount_per_time']?></TD><?//งวดละ?>
       <TD align="center" class="border4">&nbsp;<?echo MonthThai($r['month_start'])."  ".YearThai($r['year_start'])?></TD><?//จ่ายงวดแรก?>
       <TD align="center" class="border4">&nbsp;<?echo MonthThai($r['month_end'])."  ".YearThai($r['year_end'])?></TD><?//จ่ายงวดสุดท้าย?>
					  <TD align="left" class="border4">&nbsp;<?echo $r['comment']?></TD><?//หมายเหตุ?>
					  <TD align="center" class="border4">&nbsp;<?if($r['pay_status']==1){echo "อยู่ระหว่างการทำจ่าย";}else{echo "ปิดการจ่าย";}?></TD><?//สถานะทำจ่าย?>
</TR>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 11:21:22 By : Pucca^^
 


 

No. 11



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



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

เรื่องการผสานแถวเข้าหากัน(rowspan) นี่ค่อนข้างจะยุ่งยากนะครับ
ผมว่าใช้ธีไม่แสดงชื่อ และรหัส กรณีเป็นรหัสเดิมจะง่ายกว่านะครับ

ถ้ายังเป็นคนเดิม ก็ไม่ต้องแสดง คือเซ็ตชื่อ และรหัส ให้เป็นค่าว่าง

มีเส้นตารางคั่นก็คงไม่เป็นไร ^^"


ถ้าจะทำจริงๆ ก็ต้องดึงข้อมูลทั้งหมดมาเก็บไว้ในอาร์เรย์ก่อน
โดยที่ระหว่างวนลูปดึงข้อมูล ก็ต้องมีตัวแปรนับว่า แต่ละคนมีกี่แถว
$countRow[รหัสพนักงาน] += 1;
เช่น รหัส 111 จะได้เป็น $countRow[111] += 1;

แล้วค่อย foreach วนลูปข้อมูลออกมาแสดง
ตอนแสดง td ที่เป็นคอลัมน์ รหัส กับชื่อ จะต้องเพิ่ม แอตทริบิว rowspan ถ้า $countRow[111] มีค่ามากกว่า 1 แถว

เช่น
<tr> <td>1</td> <td <?php echo $rowspan;?> > 111 </td> <td <?php echo $rowspan;?> > นาย ก</td> <td>notebook</td> </tr>


เมื่อขึ้นลูปแถวต่อไป ยังเป็นรหัสเดิม
<tr> <td>2</td> <td>tablet</td> </tr>



ประวัติการแก้ไข
2013-05-18 12:55:57
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-05-18 12:55:32 By : Naizan
 

   

ค้นหาข้อมูล


   
 

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