0

会社の勤怠管理システムを作成しています。そのために、MySQL データベースに PRESENCE というテーブルがあります。表は以下のようになります。

+-----+-------------+---------+----------+------- --+--------+------+------+

| | ピッド | shift_time | タイムイン | タイムアウト | 労働時間 | 日付 | ユーザーID | 日|

+-----+-------------+---------+----------+------- --+--------+------+------+

HTMLにチェックインとチェックアウト用の2つのボタンがあります。従業員は毎日ログインし、出社時にチェックイン ボタンをクリックします。彼らがチェックインボタンをクリックすると、上のテーブルに新しい行が挿入されます

pid(auto incremented),
timein(server time),
timeout(default value 00:00:00),
date(server date),
uid(logged in employee id),
day(present day like monday,tuesday etc.)

チェックアウトボタンをクリックすると、タイムアウト値をサーバー時間に更新し、作業時間を計算して更新します。

私のhtmlでは、このテーブルから特定の従業員IDのすべての行を選択し、出力を表示する選択クエリを作成しました。今私の問題は、ユーザーが日付をチェックインしていない場合、その日付を表示したいということ"absent" or "no-shift".です。これを行う方法が本当にわからないからです。どんなアイデアや助けも大歓迎です。私はこのプロジェクトをできるだけ早く終わらせる必要があります。

前もって感謝します。

4

1 に答える 1

0

従業員が週 5 日働くと予想される場合、「欠勤」または「シフトなし」のケースでは、シフト エントリがない日を示すことができます。これらの欠落している行については、ワーカーが説明する必要があります。

少なくとも、(SHIFT、ABSENT)の列挙型になる「タイプ」列をテーブルに追加する必要があると思います。

一般に、単一のテーブル スキーマは、これらの追加のユース ケースに対して少し制限があるようです。

于 2013-04-16T08:25:14.173 に答える