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>";
}
どうか、ご教授の程よろしくお願いします。