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



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



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




Code (PHP)
<tr>
		<td width="100" align="left" bgcolor="#FF9933"><?echo "4.";?></td>
		<td width="200" align="left" bgcolor="#FF9933">ใช้บริการ ปรับเปลี่ยนฐานข้อมูล</td>
		
		<?
			$strSQlSd = "SELECT count(iw.work_id) as sumworkSd,iw.datetime_request,ic.datetime_commit,
					SUM(TIMEDIFF(iw.datetime_request,ic.datetime_commit)) AS timesum 
						FROM it_work iw,it_commit ic
					    WHERE iw.work_id LIKE 'SD%'
						AND iw.work_id = ic.work_id
						AND iw.datetime_request >= '$Startdate' 
						AND iw.datetime_request <= '$Enddate'
						group by iw.work_id";//SQL หางานขอ SD
			$result_searchSd = mysql_query($strSQlSd);
			while($row_Sd = mysql_fetch_array($result_searchSd)){
				$sumdate = duration($row_Sd[datetime_request],$row_Sd[datetime_commit]);
				$sum2+=$sumdate;			
			?>
				<td width="0" align="center" bgcolor="#FF9933"><?=$row_Sd[sumworkSd];?></td>
				<td width="0" align="center" bgcolor="#FF9933"><?=$sumdate;?></td>	
				<td width="0" align="center" bgcolor="#FF9933"><?=$row_Sd[timesum];?></td>
					<?$summ+=$row_Sd[timesum];?>		
					
			<?}?>
		
			<td><?echo duration1($sum2);?></td>
			<td><??></td>
	  </tr>


ผมออกรายงานเกี่ยวกับรวมเวลาที่ใช้ในการทํางานแต่ละงานอะครับที่ติด คือผมได้เวลาที่ใช้ทําในแต่ละงานแล้วอะครับ ในฐานข้อมูลเก็บเป็น datetime หาเวลาที่ใช้ไปโดยผ่าน fn duration ในแต่ละงานได้ครับ แต่ติดตรงจะเอาเวลาที่ใช้ไป(จาก fn duration)มารวมกันว่างานนี้ในระยะเวลาเท่านี้ใช้ไปเท่าไรอะครับ

Code (PHP)
function duration($begin,$end){
	$remain=intval(strtotime($end)-strtotime($begin));
	$wan=floor($remain/86400);
	$l_wan=$remain%86400;
	$hour=floor($l_wan/3600);
	$l_hour=$l_wan%3600;
	$minute=floor($l_hour/60);
	$second=$l_hour%60;
	return $wan." วัน ".$hour." ชั่วโมง ".$minute." นาที ";
}




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-10-27 09:12:55 By : dexnall View : 650 Reply : 9
 

 

No. 1



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



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


ลองเปลียน statement สำหรับคิวรี่ใหม่ไหมครับ

Code (SQL)
SELECT 
     staff_id, 
     SEC_TO_TIME( SUM( UNIX_TIMESTAMP(dateend) - UNIX_TIMESTAMP(datestart)) ) as runtime
FROM tablename 
GROUP BY staff_id


ปล.
ลองปรับใช้ดูนะครับ คือผม อ่าน structure table แล้ว งง

dateend datestart เป็นเวลาการทำงานในแต่ละวันนะครับ








ประวัติการแก้ไข
2014-10-27 09:27:52
2014-10-27 09:31:13
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 09:27:38 By : Chaidhanan
 


 

No. 2



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



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


คือผมหาเวลาการทํางานได้แล้วครับ โดยผ่าน fn duration ที่ติดคือจะเอา $sumdate = duration($row_Sd[datetime_request],$row_Sd[datetime_commit]); // $sumdate มา + หาเวลาทั้งหมดที่ใช้ไปในงานวันนั้นๆ ตามเวลาที่ผู้ใช้เลือกครับ $sumdate ไม่รู้จะเอา $sumdate มารวมยังไง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 09:41:27 By : dexnall
 

 

No. 3



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



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


ที่พี่ให้มา SEC_TO_TIME( SUM( UNIX_TIMESTAMP(dateend) - UNIX_TIMESTAMP(datestart)) ) as runtime ผลที่ได้เหมือน fn duration ผมเลยออกมาเวาลาที่ใช้ในแต่ละงาน ไม่ยอม sum งานที่ใช้ในแต่ละงาน ให้อะครับมันออกแต่ละงานไม่ยอมรวม ต้อง เขียนคําสั่งไรเพิ่มครับพี่ มีความหวังแล้ววว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 09:57:37 By : dexnall
 


 

No. 4



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



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


Code (SQL)
select 
     FLOOR( HOUR( wrk) / 24) as d, 
     HOUR( wrk ) % 24 as h,
     MINUTE( wrk ) as m

from (
    select SEC_TO_TIME( SUM( UNIX_TIMESTAMP(d2) - UNIX_TIMESTAMP (d1)) ) as wrk
    from (
        select '2014-10-10 08:00:00' as d1, '2014-10-10 18:00:00' as d2 
        union all 
        select '2014-10-11 08:00:00', '2014-10-11 18:00:00'
        union all 
        select '2014-10-12 08:00:00' as d1, '2014-10-12 18:00:00'
    ) as t1
) as t2


ลองเอาไปรันบน phpmyadmin เพื่อจะเกิด idea นะครับ

ปล.
โค๊ดที่คุณเขียนมันยุ่งยากสำหรับผม เลยเขียนโค๊ดที่ผมคิดว่าง่ายสำหรับผม เป็นตัวอย่างให้ดูนะครับ
ถ้ามันยุ่งยากสำหรับคุณก็ไม่ต้องสนใจมันก็ได้ครับ
โค๊ดที่คุณเขียนมัน ไม่รวมวัน แต่โค๊ดที่ผมเขียน มันรวมเวลาทำงานทั้งหมดเอาไว้ ก็แล้วแต่จะใช้นะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 10:25:40 By : Chaidhanan
 


 

No. 5



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



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


ถ้าในแต่ละวัน มันมีหลายงาน คุณก็ต้อง รวมงานในแต่ละวันก่อน

เอาตารางที่เกี่ยวข้องมาดูก็จะดีนะครับ แล้วอธิบายแต่ละฟีลด์มันคืออะไร ถ้าชื่อมันไม่สื่อความหมาย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 10:35:10 By : Chaidhanan
 


 

No. 6



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



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


พี่ไม่ต้อง group by หรอครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 10:35:36 By : dexnall
 


 

No. 7



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



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


ตัวอย่างที่ผมทำ มันไม่มีการอ้างอิง ไอดี อะไรครับ เลยไม่ต้องมี group by
เป็นตัวอย่างการ sum เวลาทำงาน เท่านั้นครับ

แต่ข้อมูลจริงมันแยกแต่ละคนก็ต้อง group by
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 10:43:46 By : Chaidhanan
 


 

No. 8



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



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


ขอบคุณครับพี่ได้ละ เป็นแบบนี้ 206:28:22 พี่พอมีฟังก์ชั่น แปลงใส่พวกคําว่า ชั่วโมง นาที วินาที ไหมครับ เช่น 206 ชั่วโมง 28 นาที 22 วินาที
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 10:58:46 By : dexnall
 


 

No. 9



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



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


ดูตัวอย่าง โค๊ด คห 4 เลยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-27 11:01:44 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: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

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