Я пытаюсь выяснить, как запрограммировать еженедельные вознаграждения за вход в систему, и до сих пор я немного застрял в текущей логике, которая у меня есть.
Предполагается, что у меня есть 2 sql таблицы;1) для участников, у которых есть дата сеанса входа в систему и 2) для вознаграждений.Пока что это код, который мне несколько удалось придумать, и если будет что-то намного лучше, это будет высоко оценено.; __;
// DO CHECK LOGIN
$sql = mysqli_query($connect, "SELECT * FROM `members` WHERE email='$login'");
$row = mysqli_fetch_assoc($sql);
$sql2 = mysqli_query($connect, "SELECT * FROM `rewards` WHERE email='$login'");
$row2 = mysqli_fetch_assoc($sql2);
if ($row2['week'] == 0) {
echo 'This is your first weekly login bonus! Get your rewards below:';
// INSERT REWARD FIRST WEEK
mysqli_query($connect, "UPDATE `rewards` SET `week`='1', `login`='".date('Y-m-d H:i:s')."' WHERE email='$login'");
} else if (($row2['week'] == 1) && (/* $row['session'] is 7 days ahead of $row2['login']*/)) {
echo 'Get your weekly login bonus below.';
// INSERT REWARD SECOND WEEK
mysqli_query($connect, "UPDATE `rewards` SET `week`='2', `login`='".date('Y-m-d H:i:s')."' WHERE email='$login'");
} else if (($row2['week'] == 2) && (/* $row['session'] is 7 days ahead of $row2['login'] (14 days)*/)) {
echo 'Get your weekly login bonus below.';
// INSERT REWARD THIRD WEEK
mysqli_query($connect, "UPDATE `rewards` SET `week`='3', `login`='".date('Y-m-d H:i:s')."' WHERE email='$login'");
} else if (($row2['week'] == 3) && (/* $row['session'] is 7 days ahead of $row2['login'] (21 days)*/)) {
echo 'Get your weekly login bonus below.';
// INSERT REWARD FOURTH WEEK
mysqli_query($connect, "UPDATE `rewards` SET `week`='0', `login`='".date('Y-m-d H:i:s')."' WHERE email='$login'"); // WEEK RESETS FOR NEXT LOGIN
} else {
if ($row2['login'] /* is X days less than $row['session'] */) {
echo 'Your next weekly reward is on [insert date].';
} else if ($row['session'] /* is 8 days more than $row2['login'] */) {
echo 'It seems like you missed a week\'s login. Start over again?';
mysqli_query($connect, "UPDATE `rewards` SET `week`='0', `login`='".date('Y-m-d H:i:s')."' WHERE email='$login'");
}
}
Так что я не совсем уверен, как я буду выполнять закомментированную часть каждого оператора if-else (кроме части INSERT REWARD), потому что я немного растерялся.Большое спасибо заранее тем, кто сможет выручить!