1

誰かがその週のタイムシートを送信した場合、その週全体をロックアウトしようとしているので、既に送信されているその週に新しい時間を編集/追加することはできません。

私は現在、誰かがその週のタイムシートを提出した場合に 1 を返す checksubmit 関数を持っています (例: 2013-01-05 の終了週の土曜日になる $submitendweek をチェックします)。

私はプログラミングとphp/mysql言語に非常に慣れていないので、phpの知識が不足していることをお詫びします。

これは私が一時的に使用しているものですが、非常に嫌で、前月の日をキャッチしません... 30日や31日のように。

$submitted = checksubmit($contextUser, $year, $month, $curDay);
$submitted1 = checksubmit($contextUser, $year, $month, $curDay+1);
$submitted2 = checksubmit($contextUser, $year, $month, $curDay+2);
$submitted3 = checksubmit($contextUser, $year, $month, $curDay+3);
$submitted4 = checksubmit($contextUser, $year, $month, $curDay+4);
$submitted5 = checksubmit($contextUser, $year, $month, $curDay+5);
$submitted6 = checksubmit($contextUser, $year, $month, $curDay+6);
if ($submitted || $submitted1 || $submitted2 || $submitted3 || $submitted4 || $submitted5 || $submitted6) {
print "submitted already";
...more
} else {
print "submit button";
...more 
}
4

1 に答える 1

1

forループはここで役に立ちます。

$submitted = false;

for($i = 0; $i < 7; $i++) {
    if(checksubmit($contextUser, $year, $month, $curDay + $i)) {
        print 'submitted already';

        // one was sumbitted

        $submitted = true;
        break;
    }
}

if(!$sumbitted) {
    print 'submit button';

    // none were submitted this week
}
于 2013-01-24T02:05:26.083 に答える