timeslider.js を使って、出勤管理を書いてみたのでメモ。 | φ(..)メモとして残しておこう…

timeslider.js を使って、出勤管理を書いてみたのでメモ。

要件。

・夜系のお店の出勤管理プログラム。
・データの保存はテキスト形式で保存(DB使用ナシ、複数店舗をファイルごと)。
・データは「今日」から1週間を表示で、毎朝5時に日付変更。

女の子の数が増えていくと、その分だけデータが増えていくわけですが、これをどう保存しようかと検討した結果、serialize()で多次元の配列データをそのままテキストに書き込むことにしました。

今回は出勤表のみですが、よくよく考えてみたらプロフィール登録や写真登録などの統合管理ツールを作らなきゃ…ってときに使い回しができるようにしておきます。

今回は、日付変更処理と曜日のソートでちょっと悩みました。

・データは「今日」から1週間を表示で、毎朝5時に日付変更。
ってとこです。
結局


$update_hour = "5";

//今日の曜日番号を取得
$weekno = date('w');

//五時移行に更新する設定にした
if ( date('G') < $update_hour ) { $weekno = $weekno - 1; }
if ( $weekno < 0 ) { $weekno = 6; }


こんな感じの処理をしてます。
date('w')で、今日の曜日ナンバーを取得。
date('G')で、24時間の「時間」を取得。
取得した時間が5時未満なら、曜日ナンバーを一個減らす(前の日に戻す)処理をする。
曜日ナンバーが0(日曜日)以下の時には曜日ナンバーを6(土曜日)にするという処理です。

そうそう。
曜日の日本語表記は


$weekno = date('w');

$week_list_jp = array(0=>"日曜日",1=>"月曜日",2=>"火曜日",3=>"水曜日",4=>"木曜日",5=>"金曜日",6=>"土曜日",);

$week_data_jp = $week_list_jp[$weekno];


みたいな処理をすればオッケーです。


ちょっと前に流行った「姫君スクリプト」がなくなってしまったようで、夜系業界の人から頼まれて作ったのですが、写真のアップロードやプロフィール等の統合管理ツールとしてちゃんと制作を進めて、フリーで公開しようと思いました。

結構姫君使ってるとこ多いんですよね…夜系の方々。

少なくとも姫君よりは使いやすいものになるようにしたいとは思いますので、夜系の方は乞うご期待。


1年半ほど前にWebの業界に入ったとき、夜系の知り合いからページ制作を頼まれて姫君スクリプトを使おうとしたのですが、既に姫君を使っているWebデザイナーに相談したところ
「真似するな」
と言われて、それで自分でプログラムをしようと始めたのがPHPです。


フリーのプログラムを「真似するな」もなにも…とは思うのですが、その一件がなければ、今こうしてWebエンジニアをやっていたかどうかは分かりません。

ということで、Webエンジニアとしてのきっかけになってくれた「姫君スクリプト」がなくなってしまったのは非常に残念。。。