HTML から送信された値に基づいて、別の mySQL クエリを実行するための php コードがあります。HTML から送信された値は、私が使用した現在の日です。
<?php $day = date("w"); ?>
私が使用する場合:
<?php echo $day; ?>
6 が返されます。これは本来の動作 (土曜日であるため) であるため、HTML/php が適切な情報をスクリプトに送信していることを確認できます。
私のスクリプトでは、&& と || の両方を含む if/elseif ステートメントに mySQL クエリの大きなリストがあります。条件。
最初の 2 つの例を次に示します。
if(($noshow == 1) && ($day != 5 || $day != 6 || $day != 0)){
$run = mysql_query("UPDATE employee_data SET points=points+5 WHERE ID=" . $id) or die(mysql_error());
}
elseif(($noshow == 1) && ($day == 5 || $day == 6 || $day == 0)){
$run = mysql_query("UPDATE employee_data SET points=points+7 WHERE ID=" . $id) or die(mysql_error());
}
変数 $noshow も html ファイルから送信され、値が 1 のチェック ボックスの形式になっています (チェックされている場合)。だから私がする必要があるのは、今日が何日であるかに基づいてクエリを実行することです。最初のステートメントでは、HTML のボックスがチェックされていて、それが金曜日、土曜日、または日曜日 (5,6,0) でない場合、現在のポイントに 5 を加えた値になるようにポイントを更新します。
次のステートメントは、最初のステートメントと同じことを行うことになっていますが、その日が金曜日、土曜日、または日曜日の場合のみです。スクリプトは、私が作成したさまざまなチェック ボックス/オプションに対して約 10 個のステートメントを実行します。
だから私が抱えている問題は、日が6であっても最初のステートメントしか実行していないことです(これについては上で説明しました)
私はこの問題で約2時間ぐるぐる回っていますが、それは私の頭を悩ませています. 私の現在の考えでは、if ステートメントの構文が正しくないということです。