• ベストアンサー

PHPとPostgreSQLを使用した労働管理システム

edge8040の回答

  • edge8040
  • ベストアンサー率46% (7/15)
回答No.1

http://jp2.php.net/date パラメータ「D」を付ければ曜日取れます。 英文字3文字表記なので、漢字にしたければ内部変換するとか。 パラメータ「w」なら数値で取れますね。 マニュアルが分かり難い場合は http://www.phppro.jp/school/vol18/1 など参考になるかもしれません。 他ページも色々参考になると思います。 頑張ってください。

参考URL:
http://www.phppro.jp/school/vol18/1
destonias
質問者

補足

sjam様、edge8040様 早速のお返事ありがとうございます。 私の言葉足らず・説明不足で申し訳ございませんが 『曜日の出し方が解りません』だけではなく『当月の15日~来月の14日までを曜日含んだ日付の出し方が解りません』という事です… 自力では一ヶ月(4月1日~4月30日)を表示させる事は出来るのですが、それが月を超えるという処理で躓いています。 ※例えば3月であれば3月15日~4月14日までを曜日を含んだ形で出力させたいのです。 4月15日になれば4月15日~5月15日が表示されるようにしたいです。 この処理がPHPでどのようにすればよいか検討がつかない為、ご助言・ご助力お願いします。

関連するQ&A

  • PHPとPostgreSQLを使用した勤務管理

    こんにちは、みなさん宜しくお願い致します。 現在PHPとPostgreSQLを使用して勤務管理を作成しているのですが またまた躓き自分ではこれ以上解決出来なくなったので、再度こちらにて質問させて頂きます。 ※自分が行おうとしている処理一覧です 下記のようなレアウトのテーブルがあります。 ---------------------------------------- 日付(曜日) | 労働時間 | チェックボックス | 登録ボタン  当月15日    |  翌月15日 ---------------------------------------- となっております。 1:日付表示は教えて頂いた処理で実現する事が出来ました。 <?php $now = time(); $year = date('Y', $now); $month = date('m', $now); $day = date('d', $now); if ($day < 15) $month--; $numOfDays = date('t', mktime(0, 0, 0, $month, 1, $year)); for ($d = 0; $d < $numOfDays; $d++){ echo date("Y-m-d(D)", mktime(0, 0, 0, $month, 15+$d, $year)). "\n"; } ?> 2:労働時間を入力し、登録ボタンを押せば日付と労働時間がDataBaseに登録される様にしたい 3:出来るならば登録をチェックボックスが押されている項目だけをDatabaseに登録するようにしたいのです。 しかし自分が試した限りではcheckboxを押した項目だけを取得させDatabase に登録させるという処理が出来ませんでした。 それどころか、労働時間を入力し登録ボタンを押せば労働時間を入力した 日付と労働時間がDataBaseに登録される処理すら出来ない状態です。 ご教授をお願いしたく質問させて頂きました。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPとPostgreSQLを使用した勤怠管理システム

    現在、PHPとPostgreSQLを使用して勤怠管理システムを 作成しているのですが、解らない事があるので質問させて下さい。 この手の事で色々と質問しているのですが、ツギハギだらけでDBにも 負荷をかけてしまうような作りになってしまったので 一から作り直しているところです。 ご教授の程、よろしくお願いします。 1)今月15日から来月14日までの曜日つき日付を取得する 2)労働時間を入力してチェックボックスを押せば、日付と労働時間がDBに登録される 3)チェックを押したとき、DBに該当データがあれば、INSERT。 4)チェックを押したとき、DBに該当データがなければ、UPDATE という処理を行いと思います。 以下に以前のコードを記載します。 $weekday = array("日","月","火","水","木","金","土"); //曜日の配列作成 $now = time(); // UNIXタイムスタンプを取得 $year = date('Y', $now); // 年を指定された書式で書式化する $month = date('m', $now); // 月を指定された書式で書式化する $day = date('d', $now); // 日を指定された書式で書式化する // 現在の日付が15日未満だったら、月をマイナスする if($day < MONTH_HARF){ $month--; } // 指定した月の日数を取得 $numOfDays = date('t', mktime(0, 0, 0, $month, 1, $year)); // 日付が指定した月の日数以下ならば for($d = 0; $d < $numOfDays; $d++){ // $dateに15日から末日+14日までの値をyyyy年mm月dd日の形で代入 $date = date("Y年m月d日", mktime(0, 0, 0, $month, 15+$d, $year)); // $wに0~6までの数字に対応した曜日を代入 $w = date("w", mktime(0, 0, 0, $month, $d+1, $year)); // $ymddateに15日から末日+14日までの値をyyyymmdの形で代入 $ymddate = date("Ymd", mktime(0, 0, 0, $month, 15+$d, $year)); //1行の定義:日付(曜日) $line = $weekday[$w]; // 読み込まれた休日と表示されている日付が同じならば、$wに0を代入(日曜日) if($holiday_plasticOperation == $date){ $w = 0; } switch($w){ case 0: //日曜日の文字色 $style = "color:#C30;"; break; case 6: //土曜日の文字色 $style = "color:#03C;"; break; default: //月~金曜日の文字色 $style = "color:#333;"; } echo "<TD WIDTH=100>$date</TD><TD title='$yy'><span style=.$style.>$line</span></TD>"; echo "<TD><INPUT TYPE='text' NAME='work_time[$ymddate]' VALUE='$work_Time' TABINDEX=1 SIZE='7' STYLE='ime-mode: inactive;'></TD>"; echo "<TD><INPUT TYPE='CHECKBOX' NAME='work_check[]' VALUE='$ymddate' TABINDEX=2></TD>"; } どうか、ご教授の程よろしくお願いします。

    • 締切済み
    • PHP
  • 賃金台帳の書き方(労働時間)

    完全月給制(欠勤・遅刻等のいわゆる勤怠控除はしない)で当月分を当月20日に支給(5月分を5月20日に支給)ということになっています。一方、時間外手当の締切日という意味で給与計算の締切日は毎月15日として、当月20日払いということになります。 平たく言えば 「毎月15日締めの当月20日支給」 ということになるでしょうか。 で、給与明細・賃金台帳には毎月の労働日数、労働時間等の勤怠を記載する必要がありますが、どう書けばいいのか迷っています。 (1)支給月 5月(5月分)  賃金計算期間 4.16~5.15  労働日数   20日(4.16~5.15の実働日数)  労働時間数  160時間  普通残業時間  15時間(4.16~5.15の時間外) という表現なのか 完全月給制なので (2)支給月 5月(5月分)  賃金計算期間 5.1~5.31  労働日数   ????  労働時間   ????時間  普通残業時間 15時間(4.16~5.15の時間外)  完全月給制の当月分を当月20日払うわけで、21日以降月末までが残っていて当月の労働日数・労働時間が確定できないわけですが・・・ うまく表現できていないかもしれませんが、なんとなく質問の趣旨は わかってもらえますでしょうか。 完全月給制の当月給与を当月20日に(ただし残業代の計算は前月16日~当月15日までの計算)払う場合、賃金計算期間、労働日数、労働時間はどう書けばいいのでしょう、ということなんですが・・・ 長々とすみません。よろしくお願いします。

  • 勤怠管理 コアタイムのデータ管理 Java & PostgreSQL

    Java+PostgreSQLを使い、勤怠管理システムを作成中です。 システムではコアタイムを複数設定でき、環境にあわせた勤怠管理が できるようにしたいです。 従業員の勤怠集計はコアタイムを基準に、早出、基本時間、遅刻、残業を 算出できるようにしたいです。 現在、DBスキーマとテーブルに対応するJavaエンティティの定義を進めて いますが、型をどのようにすれば集計が楽になるかわからず困っています。 悩んでいるのが、日付をまたいだコアタイムを設定するとき、PostgreSQLの time型では23:59を超える時刻を扱えないため、 開始 > 終了 という データを登録する必要があり、計算が複雑になることです。 考えているものとしては、2つあります。 1) PostgreSQLの型:time Javaの型:java.sql.Time 2) PostgreSQLの型:integer(分であらわす。9:00であれば、540) Javaの型:Integer(分であらわす。9:00であれば、540) 1)は前述での計算が複雑になる問題があり、2)は、やり方がスマートでは ないような気がします。 どのような定義にすれば妥当でしょうか。 アドバイスや過去の事例等あれば、ご教授下さい。

  • 代出は時間外労働となるか?

    代出は時間外労働となるか? 時間外労働は月40時間までと36協定で締結しています。 そのため、残業が40時間を越えないように管理しています。 弊社は9:00-18:00休憩1時間の勤務時間で、 週5日出勤(土日休み)になっています。 残業を40時間ギリギリ一杯まで行なって、まだやることが ある場合は、土曜や日曜に代出して作業を行います。 代休が当月内に取れれば良いのですが、ほとんど 翌月以降に代休を取ることになります。 この場合、時間外労働は40時間で大丈夫なのか、 40時間プラス当月内に代休が取れなかった日の時間 になっていて、労働基準法違反となっているのか どちらでしょうか?

  • 裁量労働制の労働時間について

    現在、デザインの仕事をしています。 契約では「専門裁量労働制」ということで 基本給+月30時間分の裁量手当て(みなし残業代)が支給されています。 就業規則には ■出社した日は9.5時間働いたとみなす ■遅刻・早退は発生しない ■深夜22時~朝5時までの就業には別途割り増し分を支払う ■休日出勤には別途割り増し分を支払う となっています。 教えていただきたいのは残業代のことです。 私の会社では、年間の全時間数で残業が計算され 年に1回まとめての支給になっているのですが、これは普通のことでしょうか? 例として単純に計算すると 1日8時間(定時分)×20日+30時間(みなし残業)=190時間 ×12ヶ月=2280時間 年間2280時間として、これをオーバーした時間分が残業代として支給されています。 なので、例えば5月に60時間残業(月220時間労働)したとしても 6月の残業がゼロ(定時の160時間労働)だと、残業代支給はゼロになっていまうのですが…。 もちろん、仕事の無いときには早く帰ることができるので そんなに不満と言うわけでは無いのですが、 (もちろん早く帰った分、他の日の残業代が減ります) 「出社した日は9.5時間働いたとみなす」と言う以上、1回の出社ごとに 9.5時間消化したと言えるのではないかと思うのです。 こんな状態なら「1年○○○時間労働で年俸××円」と言う 契約にするべきではないかと思います。 せめて1ヶ月単位での清算にしてもらいたいのですが…。 裁量労働制とはこのようなものなのでしょうか。 ご回答よろしくお願いいたします。

  • 臨時社員の労働契約書

    臨時社員の労働契約で質問です。 契約書には、曜日、その曜日ごとの労働時間が決められてます。 しかし、実際の運用として契約書の時間よりも短い、もしくは長い時間でシフトを組むことは、可能なのでしょうか? また、実労働時間が39時間とありますが、これは残業時間も含めたものでしょうか? よろしくお願いします。

  • postgreSQL+phpでの検索結果表示について

    現在、postgreSQL+phpで簡単なイベント検索機能付きのホームページを作っています。 DB側には、テーブルがひとつだけ。 日付、イベント名、場所などの列があり、場所が複数なため、同じ日付けで別のイベントという情報もあります。 表示したいのは、日付ごとの情報です。 しかも検索は○日~○日という風に数日間に渡って検索します。 つまり、 1月1日 イベント名:その1 場所:会場1 イベント名:その2 場所:会場2 --------- 1月3日 イベント名:その3 場所:会場1 イベント名:その4 場所:会場4 --------- という感じです。 これが上手く行かないんですよね。 「考え方」で結構ですのでご教授頂けないでしょうか?

  • これ、労働基準法違反ですか?

    うちの会社の労働環境なんですが、 いくつか労働基準法を違反していないか、 回答をいただけると幸いです。 (1)遅刻をすると、15分単位で給料から引かれる 例えば1分遅刻すると15分分の給料が引かれ、 16分の遅刻で30分分引かれる。 (2)交通費は全額支給だが、車出勤は禁止のため、車で出社すると、 交通費が日割りで1日分引かれる。 例えば交通費が20000円支給されており、月22日出社の場合、 1回車で出社すると、20000÷22=909で 909円引かれる。 (3)残業代が一律計算。 仕事の性質上、残業が多いのだが(月平均100時間以上)、 どれだけ残業しても、残業代は一律で30,000円。 一回、労働基準監督署の指導が入り、ひと月だけ残業代らしき 支給があった(それ以降は特になし)。 (4)社用車で事故した場合、10万円を給料から天引き。 もちろん社用車は保険に入っているため、修理費はかからない。 保険代は上がりますが。それにしても上がった差額が10万円も するハズはないですし。 以上、長文になりましたが、回答をいただけると助かります。

  • 労働時間の自己管理について

    労働時間の自己管理の必要性について教えて下さい。 今働いている会社は商社で私は営業をしてます。残業代とボーナスがありません。給与体制は年俸制です。社員数は20名ほど。 会社の方針ですが、基本的に営業時間9時から18時(労働時間8時間)で残業しないで定時過ぎたらなるべく早く帰るように、となってます。 営業はほぼ個人がどうやり繰りするかによって忙しさが変わりますので、正直いつも定時で帰るというのは叶わないのですが、残業代が出ないという事と、自分がやらないといけないと思った事がある場合、自主的に残って仕事をしています。 今の現状で月にどの程度働いているか管理をして何か会社に訴えたい訳ではないのですが、彼女に「社会人として働いている人は労働時間の自己管理はすべき事」だと言われました。 会社は残業代を出さないという方針の為、勤怠管理(◯時出社、◯時退社)はしておらず、有給休暇・欠勤などがあった場合は届出をエビデンスとして管理しているようです。 給料は毎月同額が支払われ、残業代が出ない為月々の労働時間を集計する意味は個人的にはないと思ってます。ちなみに現在は残業したとしても週2で20時まで残るようなレベルです。 給料も年俸1,000万です。 その私が労働時間を管理する必要性はあるのでしょうか? また必要性がある場合、なぜかも教えて頂けると幸いです。 長々と失礼いたしました。御回答、お待ちしております。