Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 106,939

HOME > PHP > PHP Forum > ขอคำแนะนำคะ เกี่ยวกับระบบการลางาน ในกรณีที่พนักงานลางานไม่ถึงวัน จะนำไปลบอย่างไรกับค่าจำนวนวันสูงสุดที่เก็บไว้คะ


 

ขอคำแนะนำคะ เกี่ยวกับระบบการลางาน ในกรณีที่พนักงานลางานไม่ถึงวัน จะนำไปลบอย่างไรกับค่าจำนวนวันสูงสุดที่เก็บไว้คะ

 



Topic : 090679



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



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




ขอคำแนะนำคะ

คือตอนนี้กำลังทำระบบลางาน
แต่มีข้อสงสัยตรงในส่วนการลาคะ
ว่าควรจะเก็บตรง จำนวนการลาอย่างไร

คือตอนนี้เก็บแยกเป็นช่องจำนวนวันที่ลา .....วัน .....ชม. .....นาที รูปแบบนี้คะ
pic1

ได้มีการออกแบบ ให้แยกกันเก็บ จำนวนวัน,จำนวนชม.,จำนวนนาที แบบนี้ค่ะ
pic2

แต่อยากได้คำแนะนำในส่วนเวลาที่พนักงานลางานคะ
ถ้าจะคิดว่าพนักงงานลางานไปแล้วกี่วัน กี่ชม กี่นาที
จะคิดอย่างไรคะ (โดยพนักงานสามารถลาได้สูดสุดที่ 30 วันคะ)
ตอนนี้ถ้าลาเป็นวัน ก็จะเอาจำนวนวัน ไปลบ กับค่า 30 ที่เก็บไว้ใน profile ของพนักงาน
แต่ถ้าพนักงานลาแค่ 30 นาที จะนำไปลบกับค่าที่เก็บไว้ใน profile อย่างไรคะ

ขอคำแนะนำด้วยคะ หรือว่าต้องออกแบบ database อย่างไรคะ

ขอบคุณคะ



Tag : PHP, MySQL, Ms SQL Server 2005, Ms SQL Server 2008, JavaScript, jQuery







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-02-11 10:27:29 By : Baitong_ch View : 2249 Reply : 17
 

 

No. 1



โพสกระทู้ ( 5,092 )
บทความ ( 4 )

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

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


แนะนำ : PHP DateDiff / TimeDiff อ่านเบื้องต้น






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 10:47:16 By : apisitp
 


 

No. 2



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

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

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


นี่เขียนให้กับหน่วยงาน
หรือเขียนส่งอาจารย์ครับ

ถ้าเขียนให้หน่วยงานคงต้องถามกับฝ่ายบุคคลว่า เขาคิดการลาเป็นชั่วโมง/นาที อย่างไร ถ้าลา 1 วัน คิดเป็นกี่ชั่วโมง ประมาณนี้

ถ้าเขียนส่งอาจารย์ก็กำหนดไปเลยครับ สมมุติให้ว่า 1 วันคิดเป็น 8 ชั่วโมง ก็เก็บแต่นาทีพอครับ เพราะ 60 นาทีเป็น 1 ชั่วโมงอยู่แล้ว

ก็จะเก็บแค่ num_day กับ num_minute

เช่น ลา 3 วัน กับ 130 นาที ก็จะเป็น ลา 3 วัน 2 ชั่วโมง 10 นาที ประมาณนี้ครับ

แต่ถ้าลา 3 วัน กับ 490 นาที ก็คิดเป็นลา 4 วัน กับ10 นาที
โดยที่ฟิลด์ num_day เป็น 3 วันเหมือนเดิม แต่แสดงที่รายงานเป็น ลา 4 วัน

ถ้าเป็นผมก็ประมาณนี้ ลองดูความคิดเห็นอื่นด้วยก็ได้นะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 10:53:12 By : nutsuanplu
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : nutsuanplu เมื่อวันที่ 2013-02-11 10:53:12
รายละเอียดของการตอบ ::
คะ แต่มีข้อสงสัยคะ
"แต่ถ้าลา 3 วัน กับ 490 นาที ก็คิดเป็นลา 4 วัน กับ10 นาที
โดยที่ฟิลด์ num_day เป็น 3 วันเหมือนเดิม แต่แสดงที่รายงานเป็น ลา 4 วัน"


แล้ว 3 วัน กับ 490 นาที ทำอย่างไรให้เป็น 4 วัน กับ10 นาทีคะ
sql หรอคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 11:07:12 By : Baitong_ch
 


 

No. 4



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

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

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


ประมาณนี้ก็ได้ครับ
Code (PHP)
<?	$num_day = 3;
	$num_minute = 965;
	//query num_day กับ num_minute มา
	
	echo "ดึงข้อมูลมา วันลา ".$num_day." วัน ".$num_minute." ชั่วโมง <br>";
	
	$add_day = floor($num_minute/480);
	$remain = $num_minute%60;
	
	$total_day = $num_day+$add_day;
	
	echo "เป็น วันลา ".$total_day." วัน ".$remain." ชั่วโมง"
	
	//ประมาณนี้ก็ได้ครับ
		
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 13:21:37 By : nutsuanplu
 


 

No. 5



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : nutsuanplu เมื่อวันที่ 2013-02-11 13:21:37
รายละเอียดของการตอบ ::
ขอบคุณคะ

แล้วถ้าเป็น 4 วัน 70ชม. 20 นาที

จะคิดออกมาอย่างไรค่ะ
รบกวนอีกครั้งคะ
ไม่แน่ใจจริงๆ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 13:59:12 By : Baitong_ch
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : nutsuanplu เมื่อวันที่ 2013-02-11 13:21:37
รายละเอียดของการตอบ ::
ได้แล้วคะ ขอบคุณคะ

<? $num_day = 4;
$num_hour = 11;
$num_minute = 100;
//query num_day กับ num_minute มา

echo "ดึงข้อมูลมา วันลา ".$num_day." วัน ".$num_hour." ชั่วโมง".$num_minute." นาที <br>";

$add_day = floor($num_hour/8);
$remain = $num_hour%8;

$add_day1 = floor($num_minute/60);
echo $add_day1;
$remain1 = $num_minute%60;

$total_day = $num_day+$add_day;
$total_hour = $remain+$add_day1;

echo "เป็น วันลา ".$total_day." วัน ".$total_hour." ชั่วโมง".$remain1." นาที"


?>



ประวัติการแก้ไข
2013-02-11 14:23:15
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 14:10:36 By : Baitong_ch
 


 

No. 7



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

Hall of Fame 2012

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


ตอบความคิดเห็นที่ : 4 เขียนโดย : nutsuanplu เมื่อวันที่ 2013-02-11 13:21:37
รายละเอียดของการตอบ ::
เจ๋งครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 14:10:51 By : Ex-[S]i[L]e[N]t
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 4 เขียนโดย : nutsuanplu เมื่อวันที่ 2013-02-11 13:21:37
รายละเอียดของการตอบ ::
แล้วถ้าจะหาวันคงเหลืออะคะ(สูงสุดคือ 30วัน) จะนำมาลบอย่างไร...

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 14:44:41 By : Baitong_ch
 


 

No. 9



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

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

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


ตอบความคิดเห็นที่ : 8 เขียนโดย : Baitong_ch เมื่อวันที่ 2013-02-11 14:44:41
รายละเอียดของการตอบ ::
แปลง 30 วัน เป็น นาทีได้ไหมครับ แล้วลบกับ แปลง 4 วัน 11 ชั่วโมง 100 นาที เป็น นาที
แล้วค่อยแปลงกลับมาเป็น วันคงเหลือ ชั่วโมงคงเหลือ นาทีคงเหลือ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 14:58:59 By : nutsuanplu
 


 

No. 10



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



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


ตอบความคิดเห็นที่ : 9 เขียนโดย : nutsuanplu เมื่อวันที่ 2013-02-11 14:58:59
รายละเอียดของการตอบ ::
ขอรบกวนอีกครั้งคะ

ถ้าจะหารเอาเศษ คือการ mod ใช่ไหมค่ะ
ถ้าจะหาค่า mod คือ ใช่เครื่องหมาย % ใช่ไหมคะ

echo 35800 % 1440;

ทำไมได้เป็น 1240
ทั้งที่ค่า 35800/1440 = 24.86111111



ประวัติการแก้ไข
2013-02-11 15:55:07
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 15:46:30 By : Baitong_ch
 


 

No. 11



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

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

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


ตอบความคิดเห็นที่ : 10 เขียนโดย : Baitong_ch เมื่อวันที่ 2013-02-11 15:46:30
รายละเอียดของการตอบ ::
หารเอาเศษ คือใช้ % ถูกแล้วครับ
ส่วนหาค่าว่าหารไปกี่ครั้งใช้ floor($number) ครับ มันจะตัดค่าทศนิยมออกไป ก็จะได้ค่าเป็นจำนวนเต็ม



ตอบความคิดเห็นที่ : 10 เขียนโดย : Baitong_ch เมื่อวันที่ 2013-02-11 15:46:30
รายละเอียดของการตอบ ::
ก็ถูกต้องแล้วนะ



ประวัติการแก้ไข
2013-02-11 15:58:35
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 15:56:34 By : nutsuanplu
 


 

No. 12



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



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


ตอบความคิดเห็นที่ : 11 เขียนโดย : nutsuanplu เมื่อวันที่ 2013-02-11 15:56:34
รายละเอียดของการตอบ ::

แต่ตอนนี้ ติดปัญหานี้คะ
echo 35800 % 1440;
ค่าออกมาเป็น 1240 คะ

ทั้งๆที่ 35800/1440 = 24.86111111
ค่าที่ % ไม่ออกมาเป็น 86111111 อะคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 16:00:08 By : Baitong_ch
 


 

No. 13



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

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

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


ตอบความคิดเห็นที่ : 12 เขียนโดย : Baitong_ch เมื่อวันที่ 2013-02-11 16:00:08
รายละเอียดของการตอบ ::
คุณ Me ลองเอา 35800-(1440*24) จะได้เท่ากับ 1240 ถูกไหมครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 16:08:01 By : nutsuanplu
 


 

No. 14



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



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


ตอบความคิดเห็นที่ : 13 เขียนโดย : nutsuanplu เมื่อวันที่ 2013-02-11 16:08:01
รายละเอียดของการตอบ ::
ใช่คะ เท่ากับ 1240

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 16:10:00 By : Baitong_ch
 


 

No. 15



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

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

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


Code (PHP)
<?	$day_30 = 43200;
	
	echo "30 วันเป็น ".$day_30." นาที <br>";
	
	$num_day = 4;
	$num_hour = 70;
	$num_minute = 20;
	//ดึงข้อมูลฟิลด์ num_day,num_hour,num_minute มา
	
	
	$use_min = ($num_day*24*60)+($num_hour*60)+$num_minute;
	
	$remain = $day_30-$use_min;
	
	echo "ลาไปทั้งหมด ".$num_day." วัน ".$num_hour." ชั่วโมง ".$num_minute." นาที คิดเป็น " .$use_min. " นาที <br>";
	echo "คงเหลือ " .$remain." นาที <br>";
	
	$remain_day = floor($remain/1440);
	$remain_hour = floor(floor($remain-(1440*$remain_day))/60);
	$remain_minute = floor($remain-(1440*$remain_day))%60;
	echo "ดังนั้น คงเหลือวันลา " .$remain_day." วัน ".$remain_hour." ชั่วโมง ".$remain_minute." นาที <br>";
	
	
?>


ลองเอานี่ไปดูเป็นตัวอย่างนะครับ แล้วก็ลองประยุกต์ใช้เอา
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 16:13:55 By : nutsuanplu
 


 

No. 16



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



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


ตอบความคิดเห็นที่ : 15 เขียนโดย : nutsuanplu เมื่อวันที่ 2013-02-11 16:13:55
รายละเอียดของการตอบ ::
ขอบคุณมากเลยคะ

แปลงแล้วแปลงอีกจริงๆๆ ขออนุญาตไปไล่ดูก่อนนะคะ
ขอบคุณจริงๆคะ สำหรับความช่วยเหลือตลอดๆๆ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-02-11 16:29:28 By : Baitong_ch
 


 

No. 17

Guest


[pre][pre][pre][pre]
[right][/right]
[/pre][/pre][/pre][/pre]

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-21 16:27:14 By : .
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
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: Voake, Comcube, vps | เช่า vps , รับทำเว็บไซต์ รับเขียนโปรแกรม

Load balance : Server 01
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
for Contact Us : [Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่