出席システムを作成しようとしています。チェックアウトで PHPの時差
私は、従業員Idで私の出席をフェッチし、従業員のプロファイルにこのようなビューをレンダリング
public function updateAttendance($data,$id)
{
date_default_timezone_set('Asia/Karachi');
$attendance=array(
'check_in'=> $data['check_in'],
'check_out'=> $data['check_out']
);
$this->db->WHERE('id',$id)->update('attendance',$attendance);
$this->db->query('UPDATE attendance SET hours=(HOUR(TIMEDIFF(check_out,check_in))-1) WHERE DATE(date)=\''.date('Y-m-d').'\' and employee_id='.$id);
return true;
}
(CodeIgniterのを使用)、データベース内の出席を更新関数を呼び出して時間を計算します。
問題は、私はおそらく私のクエリに、時間の間違った計算を取得しています。クエリによる修正があるのですか、または時間の差分を時間形式で保持してから、それらを月末にすべて追加してから時間を取得する必要がありますか?
企業が合計時間からランチ時間を減算するため、クエリの "-1"(HOUR(TIMEDIFF(check_out、check_in)) - 1)が要件です。 –
あなたは結果を表示中に時間差を計算しようとしましたが、mysqlテーブルに格納された 'hour'カラムのテーブルデータを取得するのではありませんか? –
ああ、私はそれもやっていると思っていた。事は、毎日の時間を格納するために出席テーブルの列として時間があることです。しかし、HOUR機能のINTの性質は、私に毎日の従業員ごとに多くの分を無駄にするフロア値を与えるだけです。 –