出席時間の保存形式の問題。タイムスタンプの保存には bigint を使用しました。
制限事項: 午前9時前と午後5時30分以降にカードをスワイプした場合は、遅刻または早退としてカウントされません。
スワイプ カードのサインインとスワイプ カードのチェックアウトに使用されるテーブルは、サインインとサインアウトの 2 つです。
発生する問題は次のとおりです:
1. ユーザーがカードをスワイプしたときに、遅刻したか早退したかをどのように判断すればよいですか。
2. 月末に、彼の今月の遅刻と早退の記録をすべて取得するにはどうすればよいですか。
時間の比較に関しては、頭が痛くなります。先輩方、ご指導いただければ幸いです、ありがとうございました。 thinkphp mysqlを使用します。
データテーブルは次のように定義されます:
create table ts_user
(wxname varchar(50) not null 主キー、
name varchar(50) not null、
telnum char(11) not null unique、
email varchar( 50) unique 、
address varchar(100)
)ENGINE=InnoDB DEFAULT charset=utf8;
テーブル ts_signin を作成
(signid int not null auto_increment 主キー、
wxname varchar(50) not null、
date timestamp not null、
location varchar (100) not null
)DEFAULT charset=utf8;
create table ts_signout
(signid int not null auto_increment 主キー、
wxname varchar(50) not null、
date timestamp not null、
location var char( 100) null ではありません
)DEFAULT charset=utf8;
alter table ts_signin 外部キー (wxname) 参照 ts_user(wxname)
alter table ts_signout add 外部キー (wxname) 参照 ts_user(wxname);ここで考えてください。待って、先輩方のご指導に感謝しています!
ディスカッションに返信 (解決策)
strtotime("2015-01-26 09:00:00");strtotime("2015-01-26 17:30:00");
タイムスタンプは来ませんか?
strtotime("2015-01-26 09:00:00");strtotime("2015-01-26 17:30:00");
タイムスタンプは来ませんか?
ありがとう、ついに誰かが答えてくれました。重要なのは、毎月の終わりに、今月のすべてのチェックインのタイムスタンプに基づいて、今月の遅刻者数を計算する必要があるということです。この場合、タイムスタンプ 9 を生成する必要はありません。毎日00時と17時30分?
// 获取时间的小时, H是24小时制 根据H来判断是否迟到,至于5点半的,再比较分钟就可以了吧,这样就不用每天都要生成时间戳了date('H', $timestamp)
echo date('h', strtotime("2015-01-27 09:01:10")); //9点 echo date('i', strtotime("2015-01-27 09:01:10"));//01分
データを記録し、遅刻と早退を同時に判定し、新しいフィールドとして保存します
当日9時のタイムスタンプ: strtotime(date('Y-m-d' ) . '09:00') と time () を比較するだけです
create table ts_user(wxname varchar(50) not null primary key, name varchar(50) not null,telnum char(11) not null unique,email varchar(50) unique,address varchar(100))ENGINE=InnoDB DEFAULT charset=utf8;create table ts_signin(signid int not null auto_increment primary key, wxname varchar(50) not null, sdate int(10) not null,chidao int(1) default 0, // 1迟到,0没有迟到 int或bool 类型都行edate int(10) not null,zaotui int(1) default 0, //1早退,0没有早退, location varchar(100) not null // 这是干嘛的不知道)DEFAULT charset=utf8;ts_signin.wxname =ts_user.wxname と (1 か月の判定) の ts_user,ts_signin から count(chidao ) を chidaoa として直接選択します
このように、
毎日 1 つのデータを追加します。遅刻か早退かはわかります。データ セグメントを挿入するときに、チェックインしていない人は遅刻または早退としてリストされます。 、それをchidaoに直接書き込み、早退判定
会社の勤怠マシンを設定しました、比較します。これは複雑で、ユーザーに応じて部門と時間グループに分けることができますが、一般的に言えば、ユーザーは1つの勤怠にのみ所属できます。スケジュールグループ。
勤怠マシンにも設定があり、いつから出勤と判断し、いつから出勤と判断するか、勤怠スケジュールの通勤時間と一致するか、それ以外の場合は勤怠と判断します。彼が遅刻したり、早退したりするかどうか。
月末の統計は比較的単純です。たとえば、9:00 に出勤する場合、9:01 より前のすべての出勤時間を取得するだけです。ちなみに、私は遅れて出てきました
見てください、何も言いません
create table ts_user(wxname varchar(50) not null primary key, name varchar(50) not null,telnum char(11) not null unique,email varchar(50) unique,address varchar(100))ENGINE=InnoDB DEFAULT charset=utf8;create table ts_signin(signid int not null auto_increment primary key, wxname varchar(50) not null, sdate int(10) not null,chidao int(1) default 0, // 1迟到,0没有迟到 int或bool 类型都行edate int(10) not null,zaotui int(1) default 0, //1早退,0没有早退, location varchar(100) not null // 这是干嘛的不知道)DEFAULT charset=utf8;
ts_user,ts_signin から chidaoa として count(chidao) を直接選択します。ここで、 ts_signin.wxname =ts_user.wxname と (1 か月の判定)
このように、
毎日 1 つのデータを追加すると、毎晩 12 時に忘れずに更新することができます。チェックインしていない人は遅刻または早退として表示されます。データセグメントを挿入するときは、早退の判断
に直接書き込んでください。毎日12時に更新する方法を教えてください。ありがとうございます!

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。

繊維はPhp8.1で導入され、同時処理機能が改善されました。 1)繊維は、コルーチンと同様の軽量の並行性モデルです。 2)開発者がタスクの実行フローを手動で制御できるようにし、I/O集約型タスクの処理に適しています。 3)繊維を使用すると、より効率的で応答性の高いコードを書き込むことができます。

PHPコミュニティは、開発者の成長を支援するための豊富なリソースとサポートを提供します。 1)リソースには、公式のドキュメント、チュートリアル、ブログ、LaravelやSymfonyなどのオープンソースプロジェクトが含まれます。 2)StackOverFlow、Reddit、およびSlackチャネルを通じてサポートを取得できます。 3)開発動向は、RFCに従うことで学ぶことができます。 4)コミュニティへの統合は、積極的な参加、コード共有への貢献、および学習共有への貢献を通じて達成できます。

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHPは、シンプルな構文と高い実行効率を備えたWeb開発に適しています。 2。Pythonは、簡潔な構文とリッチライブラリを備えたデータサイエンスと機械学習に適しています。

PHPは死にかけていませんが、常に適応して進化しています。 1)PHPは、1994年以来、新しいテクノロジーの傾向に適応するために複数のバージョンの反復を受けています。 2)現在、電子商取引、コンテンツ管理システム、その他の分野で広く使用されています。 3)PHP8は、パフォーマンスと近代化を改善するために、JITコンパイラおよびその他の機能を導入します。 4)Opcacheを使用してPSR-12標準に従って、パフォーマンスとコードの品質を最適化します。

PHPの将来は、新しいテクノロジーの傾向に適応し、革新的な機能を導入することで達成されます。1)クラウドコンピューティング、コンテナ化、マイクロサービスアーキテクチャに適応し、DockerとKubernetesをサポートします。 2)パフォーマンスとデータ処理の効率を改善するために、JITコンパイラと列挙タイプを導入します。 3)パフォーマンスを継続的に最適化し、ベストプラクティスを促進します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン
