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



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



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




ผมจะออกเอกสารการลาอะครับ ทีนี้เอกสารที่ว่ามันมีการคำนวณ

วันที่เคยทำมา ทีนี้ไอตรงช่องวันที่เคยทำมานี่แหละครับ อย่างเช่นเอกสารฉบับแรก

ฉบับที่ 1 มีการลามาแล้ว 5 วัน

ทีนี้พอเราจะทำเอกสารฉบับที่ 2 ช่อง ลามาแล้วจะต้องเป็น 5 วัน

ฉบับที่ 2 มีการลามาแล้ว 3 วัน

ทีนี้พอเราจะทำเอกสารฉบับที่ 3 ช่อง ลามาแล้วจะต้องเป็น 8 วัน

ผมจะเขียนคำนวณวันลาที่ทำมาแล้ว โดยเชคช่วงของมันยังไงดีครับ



Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2012-05-22 01:23:23 By : phongphisut View : 1325 Reply : 15
 

 

No. 1



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

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

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


มันก็อย่ที่การออกแบบฐานข้อมูลอีกนั่นแหล่ะ
คงต้องเอาฐานข้อมูลมาดู เพื่อจะได้เขียน SQL ให้ตรงกับที่ต้องการ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-22 01:30:53 By : sakuraei
 


 

No. 2



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

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

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

ทำเป็น Quota ในตาราง Budget ดีกว่าครับ เก็บว่าในแต่ล่ะปีได้ทำการลาไปแล้วกี่วัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-22 06:16:24 By : mr.win
 

 

No. 3



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

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

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

เพิ่มเติม แนะนำการคำนวณวันลา



Go to : PHP Checking Work Day , Holiday ตรวจสอบวันหยุด และวันหยุดราชการ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-22 06:18:24 By : mr.win
 


 

No. 4



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

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

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


ตามคุณวินว่าเลยครับ และขอดูตารางข้อมูลด้วย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-22 07:28:11 By : sakuraei
 


 

No. 5



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



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


http://www.mediafire.com/?6b10qyd5kx8st

ตามนี้ครับสำหรับการลงวันลา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-22 07:38:24 By : jet_program
 


 

No. 6



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



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


อันนี้คือรูปฟอร์มที่ต้องการให้คำนวณ กับ ฐานข้อมูลนะครับ

ที่มันผิดตอนนี้ก็คือ ทุกเอกสารที่เข้ามา ช่องลามาแล้วมันจะเท่ากันทุกเอกสารอะครับ


form
sql

Code (PHP)
<?php
				/////////// หาค่าวันรวมทั้งหมดที่เคยลามา ////////////
		   //$strSQL = "select * , sum(dayno) as total from absence WHERE employee_id =" . $_SESSION["employee_id"];
		   $strSQL = "select * , sum(dayno) as total from absence WHERE absence_no ='$document_id'";
		   $strSQL1 = $strSQL." "."and type_no = '".$row['type_no']."' and status='A' ";
			//echo "strSQL1===".$strSQL1."<br>";
			//exit;
			$objQuery	= mysql_query($strSQL1) or die (mysql_error () );
			$objResult	= mysql_fetch_array($objQuery);
			$total			= $objResult["total"];  // วันลาของเก่า

	
					///////////// ค่าวันลาครั้งล่าสุดที่ทำการลามา ///////////////
		   $strSQL = "select * from absence WHERE absence_no ='$document_id'";
		   $strSQL1 = $strSQL." "."and type_no = '".$row['type_no']."' ";

			//echo "strSQL1===".$strSQL1."<br>";
			//exit;

			$objQuery	= mysql_query($strSQL1) or die (mysql_error () );
			$objResult	= mysql_fetch_array($objQuery);			
			$dayno =$row["dayno"]; 



			$result_day = $total+$dayno;  /// ผลการลารวมของครั้งเก่า + ครั้งใหม่



ประวัติการแก้ไข
2012-05-22 07:58:13
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-22 07:57:02 By : phongphisut
 


 

No. 7



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

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

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


แสดงว่าตอนนี้คำนวณวันที่ลาได้แล้วใช่มั๊ย 2012-05-01 <-> 2012-05-08 = 5วัน (1 พ.ค. วันแรงงาน , 5-6 พ.ค. เสาร์ อาทิตย์)

Code (PHP)
select sum(dayno) as total_absence, type_no ,employee_id , "รอบที่ 1"
from absence
where employee_id='123456' and 
( (year(stdate) >= '2011' and year(stdate) <= '2012' ) and ( month(stdate) >= '10'  and month(stdate) <= '03' ) and (day(stdate) >= '01' and day(stdate) <= '31') ) and
( (year(endate) >= '2011' and year(endate) <= '2012' ) and ( month(endate) >= '01'  and month(endate) <= '06' ) and (day(endate) >= '01' and day(endate) <= '31'))
group by employee_id , type_no


select sum(dayno)  as total_absence, type_no ,employee_id , "รอบที่ 2"
from absence
where employee_id='123456' and 
( year(stdate) == '2012' and ( month(stdate) >= '04'  and month(stdate) <= '09' ) and (day(stdate) >= '01' and day(stdate) <= '31') ) and
( year(endate) == '2012' and ( month(endate) >= '04'  and month(endate) <= '09' ) and (day(endate) >= '01' and day(endate) <= '31') )
group by employee_id , type_no

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-22 10:00:25 By : sakuraei
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : sakuraei เมื่อวันที่ 2012-05-22 10:00:25
รายละเอียดของการตอบ ::
ตรงคำนวณวันว่าเลือกคร่อมเสาร์อาทิตย์หรือเปล่า คร่อมวันหยุดประจำปีเหลือเปล่า ทำได้หมดแล้วครับ เหลือที่ว่า เวลาเราเลือกเอกสารนี่แหละครับ

เช่น ใบที่ 2 ก็เอาค่าใบที่ 1 มา

ใบที่ 3 ก็เอาค่า ใบที่ 2+1 มา

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-22 10:36:29 By : phongphisut
 


 

No. 9



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

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

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


Code (PHP)
select sum(dayno) as total_absence, type_no ,employee_id ,count(*) as ab_number
from absence
where employee_id='123456' and 
( stdate between '2012-04-01' and '2012-09-30' ) and
( endate between '2012-04-01' and '2012-09-30' )
group by employee_id , type_no
order by a_id 
limit (ab_number - 1)



ประวัติการแก้ไข
2012-05-22 12:11:31
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-22 11:10:02 By : sakuraei
 


 

No. 10



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

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

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


การลาป่วยใน1ปีงบประมาณแบ่งออกเป็น 2 ช่วง

ตัวอย่าง

รอบที่ 1ตุลาคม 2552 - มีนาคม 2553 ลาป่วยได้จำนวน 10 ครั้ง 23 วัน

รอบที่ 2 เมษายน 2553 - กันยายน 2553 ลาป่วยได้จำนวน 10 ครั้ง 23 วัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-22 11:30:11 By : sakuraei
 


 

No. 11



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

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

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


ทดลองคำสั่ง SQL (No.9) กับข้อมูลจำนวนมากๆหน่อยน่ะครับ (หมายถึงให้ป้อนข้อมูลลงฐานฯ มากๆหน่อย)
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-22 11:32:37 By : sakuraei
 


 

No. 12



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

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

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


1. count(*) as ab_number นับจำนวนทั้งหมดว่ามีใบลากี่ใบ

สมมุตนับได้ 3 ใบ ฉะนั้น ab_number =3

2. order by a_id ให้เรียงลำดับใบลาจากน้อยไปมาก

3. limit (ab_number - 1) กำหนดให้เอามาแค่ 2 ใบ (3-1) แต่จากข้อ (2.) จะเอามาแค่ใบที่ 1และ 2 เท่านั้น


ทดสอบหรือยังครับ

ช่วย export ฐานข้อมูลมาทดลองกันหน่อยครับ ผมเองก็อยากลองเหมือนกัน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-22 13:28:12 By : sakuraei
 


 

No. 13



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

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

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


ถ้าโค้ดชุด No.9 ไม่ผ่านก็ลองชุดนี้น่ะครับ

Code (PHP)
select sum(dayno) as total_absence, type_no ,employee_id ,
		(select count(*) from absence where employee_id='123456' and 
				( stdate between '2012-04-01' and '2012-09-30' ) and
				( endate between '2012-04-01' and '2012-09-30' )
				group by employee_id , type_no 
		) as ab_number
from absence
where employee_id='123456' and 
( stdate between '2012-04-01' and '2012-09-30' ) and
( endate between '2012-04-01' and '2012-09-30' )
group by employee_id , type_no
order by a_id 
limit (ab_number - 1)


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-22 13:32:28 By : sakuraei
 


 

No. 14



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



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


ตอบความคิดเห็นที่ : 13 เขียนโดย : sakuraei เมื่อวันที่ 2012-05-22 13:32:28
รายละเอียดของการตอบ ::

พี่ครับมัน

error : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(ab_number - 1)' at line 1

ตรงนี้อะครับ


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-22 23:19:42 By : phongphisut
 


 

No. 15



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

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

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


ตอบความคิดเห็นที่ : 14 เขียนโดย : phongphisut เมื่อวันที่ 2012-05-22 23:19:42
รายละเอียดของการตอบ ::
ลอง limit ab_number-1

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-05-22 23:35:04 By : sakuraei
 

   

ค้นหาข้อมูล


   
 

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