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

Registered : 107,296

HOME > PHP > PHP Forum > สอบถามเรื่องการบันทึก การลงเวลาเข้าออกงานของพนักงานครับ ให่แสดงวันที่พนักงานไม่ได้มาด้วย





 

สอบถามเรื่องการบันทึก การลงเวลาเข้าออกงานของพนักงานครับ ให่แสดงวันที่พนักงานไม่ได้มาด้วย

 



Topic : 122634



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



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



คือผมเขียนระบบ การลงเวลาเข้าออกงานของพนักงานครับ แต่ผมอยากให้มันแสดงวันที่พนักงานไม่ได้มาด้วย
ซึ่งตอนนี้ มันแสดงแค่คนที่มาลงเวลาเข้างานในแต่ล่ะวัน ส่วนคนที่ขาดหรือไม่ได้มาลง ไม่แสดง ตามรูปด้านล่างน่ะครับ
พนักงานรหัส EM001 ไม่มาเมือวาน ไม่แสดง แต่ผมอยากให้แดสงว่า คนนี้ ขาดงานวันนี้ น่ะครับ ไม่ทราบว่า
จะเขียนโค้ดเป็นแนวทางแบบไหน ครับ โค้ดอยูด้านล่างครับ ขอบคุณครับ

timein

ในดาต้าเบสครับ

databasetimein

Code (PHP)
/////////////////////////SAVE TIME-IN//////////////////////////////////////
if(isset($_GET['Action']) && $_GET['Action'] == 'time_in')
{
	$user = $_POST['username']; 
	$pass = $_POST['password'];
	$sel_emp  = "select * from Employee where em_id = '$user' and password = '$pass'";
	$qury_selemp = mysql_query($sel_emp);
	$numrow_selemp = mysql_num_rows($qury_selemp);
	if($numrow_selemp == 0)
	{ ?><script language="javascript" type="text/javascript">alert("คุณกรอกรหัสผ่านผิด หรือ เลือกรหัสพนักงานผิด");</script><?php }
	else
	{  
		$timein_sql = "insert into Timework(em_id,date,timein) values ('$user','".date("y-m-d")."','".date("H:i")."')";
		if(mysql_query($timein_sql))
		{ ?><script language="javascript" type="text/javascript">alert("ลงเวลาเข้างานเรียบร้อย");</script><?php 
			header("Refresh:0; url=../Timein.php");
		}
	
	}
}
/////////////////////////SAVE TIME-OUT//////////////////////////////////////
if(isset($_GET['Action']) && $_GET['Action'] == 'time_out')
{
	$user = $_POST['username']; 
	$pass = $_POST['password'];
	$sel_emp  = "select * from Employee where em_id = '$user' and password = '$pass'";
	$qury_selemp = mysql_query($sel_emp);
	$numrow_selemp = mysql_num_rows($qury_selemp);
	if($numrow_selemp == 0)
	{ ?><script language="javascript" type="text/javascript">alert("คุณกรอกรหัสผ่านผิด หรือ เลือกรหัสพนักงานผิด");</script><?php }
	else
	{  
		$timeout_sql = "update Timework set timeout = '".date("H:i")."' where em_id ='$user' and date = '".date("y-m-d")."'";
		
		if(mysql_query($timeout_sql))
		{ ?><script language="javascript" type="text/javascript">alert("ลงเวลาออกงานเรียบร้อย");</script><?php 
			header("Refresh:0; url=../Timeout.php");
		}
	
	}
}




Tag : PHP, MySQL, HTML/CSS, JavaScript, Windows







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-04-27 11:03:59 By : nutzaaclub View : 1367 Reply : 3
 

 

No. 1



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



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

แบบง่ายที่สุด สร้างตัว Update ทำหน้าที่ Insert ข้อมูลวันที่พนักงานไม่ได้มา แล้วใส่เวลาเข้าออกงานเป็น 00:00:00

ทีนี้ เราก็จะมีจำนวนข้อมูลการมาทำงานของพนักงานครบทั้งเดือน แล้วเช็คที่เวลาเข้าออกงานเป็น 00:00:00 ก็แสดงข้อความในตารางว่าขาดงาน :D

ตัว Update จะรันตอนไหน?
อาจจะเป็นคำถาม มีหลายวิธี Crontab / รัน Manual / รันผ่าน Browser
แนะนำแบบง่ายที่สุดแอบบรันผ่าน Browser แล้วกำหนดเงื่อนไขช่วงเวลาที่เราต้องการเพื่อลดการทำงานของ Server เพราะตัว Update ต้องไป Query ตารางพนักงานทั้งหมดเพื่อสร้าง Record ในตารางเข้าออกงาน แต่เป็นวิธีที่ไม่ค่อยดี เพราะถ้าไม่มีใครมาเปิดเว็บในเวลาที่เรากำหนด ตารางก็จะไม่อัพเดท ลองดูนะครับ

เพิ่มเติมจากประสบการณ์
ถ้าคุณไม่มี Cron Jobs และไม่อยากใช้วิธีแอบรันผ่าน Browser แนะนำให้ใช้ Window Scheduler เพื่อสั่งให้เข้าไปยัง URL ที่เป็นตัว Update หลังจากที่ทุกคนกลับบ้านหมดแล้ว

ถ้าคุณมี Cron Jobs ใช้วิธีนี้แทน ...








ประวัติการแก้ไข
2016-04-27 12:27:10
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-27 12:21:33 By : ALTELMA
 


 

No. 2



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



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

ตอบความคิดเห็นที่ : 1 เขียนโดย : ALTELMA เมื่อวันที่ 2016-04-27 12:21:33
รายละเอียดของการตอบ ::
ผมใช้ appserv จำลองอ่ะ ครับ ไมไ่ดรัน บน server หรือ web คงต้องเขียน code ให้มันเพิ่มเองใช่ไหมครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-27 17:46:41 By : nutzaaclub
 

 

No. 3



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



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


ตัวอย่างการคิวรี่เฉพาะ เดือนปัจจุบัน
Code (SQL)
select ud.*, tw.date_in, tw.date_out  from (
  select left(now(),7) ym, em.id, tmp.d1 from (
    select day(date_in) as d1 
    from tb_time_work 
    where left(date_in,7)=left(now(),7)
    group by day(date_in) ) 
  ) as tmp, employee as em
) as ud left join tb_time_work tw 
on (left(tw.date_in)=ym or left(tw.date_out)=ym) 
and tw.em_id=ud.id and day(tw.date_in)=ud.d1

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-28 04:48:15 By : Chaidhanan
 

   

ค้นหาข้อมูล


   
 

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

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 อัตราราคา คลิกที่นี่