ฟังก์ชั่นการบวกเวลา และการบวกฟิลด์เวลาในฐานข้อมูล อย่างง่าย
20 July 2015 By Ninenik Narkdeephp ฐานข้อมูล บวกเวลา
คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ php ฐานข้อมูล บวกเวลา
ไปที่
Copy
โค้ดตัวอย่างต่อไปนี้จะมีสองส่วน ส่วนแรกจะเป็นฟังก์ชั่น สำหรับทำการบวกเวลา
โดยรุปแบบเวลาของเราจะอยู่ในรุปแบบ 24 ชม. คือ 00:00:00
ข้อมูลเป็นประเภท array เช่น
$date=array( "17:21:43", "98:41:59" );
หรือกรณีดึงรายการจากฐานข้อมูล
<?php $time_arr=array(); $q=" SELECT timeData FROM tbl_time "; $qr=mysql_query($q); while($rs=mysql_fetch_array($qr)){ $time_arr[]=$rs['timeData']; } ?>
ฟังก์ชั่น php
function sumTime($date){ $ss_num=0; if(count($date)>0){ foreach($date as $v_date){ $ar_time=explode(":",$v_date); $ss_num+=$ar_time[2]; $ss_num+=($ar_time[1]*60); $ss_num+=($ar_time[0]*60*60); } } $time_diff_h=floor($ss_num/3600); // จำนวนชั่วโมงที่ต่างกัน $time_diff_m=floor(($ss_num%3600)/60); // จำวนวนนาทีที่ต่างกัน $time_diff_s=($ss_num%3600)%60; // จำนวนวินาทีที่ต่างกัน // กรณีต้องการกำหนดเลข 0 นำหน้าเวลา $time_diff_h=str_pad($time_diff_h,2,"0", STR_PAD_LEFT); $time_diff_m=str_pad($time_diff_m,2,"0", STR_PAD_LEFT); $time_diff_s=str_pad($time_diff_s,2,"0", STR_PAD_LEFT); // return $time_diff_h." ชั่วโมง ".$time_diff_m." นาที ".$time_diff_s." วินาที"; return $time_diff_h.":".$time_diff_m.":".$time_diff_s; }
ตัวอย่างการใช้งานแบบเต็ม
<?php function sumTime($date){ $ss_num=0; if(count($date)>0){ foreach($date as $v_date){ $ar_time=explode(":",$v_date); $ss_num+=$ar_time[2]; $ss_num+=($ar_time[1]*60); $ss_num+=($ar_time[0]*60*60); } } $time_diff_h=floor($ss_num/3600); // จำนวนชั่วโมงที่ต่างกัน $time_diff_m=floor(($ss_num%3600)/60); // จำวนวนนาทีที่ต่างกัน $time_diff_s=($ss_num%3600)%60; // จำนวนวินาทีที่ต่างกัน // กรณีต้องการกำหนดเลข 0 นำหน้าเวลา $time_diff_h=str_pad($time_diff_h,2,"0", STR_PAD_LEFT); $time_diff_m=str_pad($time_diff_m,2,"0", STR_PAD_LEFT); $time_diff_s=str_pad($time_diff_s,2,"0", STR_PAD_LEFT); // return $time_diff_h." ชั่วโมง ".$time_diff_m." นาที ".$time_diff_s." วินาที"; return $time_diff_h.":".$time_diff_m.":".$time_diff_s; } $time_arr=array(); $q=" SELECT timeData FROM tbl_time "; $qr=mysql_query($q); while($rs=mysql_fetch_array($qr)){ $time_arr[]=$rs['timeData']; } echo sumTime($time_arr); ?>
แบบที่สอง แบบรวมค่าฟิลด์เวลา time ในฐานข้อมูล
<?php $timeSum=@mysql_result(@mysql_query(" SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(timeData))) FROM tbl_time "),0,0); ?>
โดยผลัพธ์ที่ได้จะอยู่ในรูปแบบ time
เช่น 26:50:42
อย่าลืมกด Like กด Share เป็นกำลังใจ ในการสร้างบทความใหม่ๆ น่ะครับ

URL สำหรับอ้างอิง
Top
Copy