Я пытаюсь подсчитать строки в зависимости от того, когда они были созданы.
Каждый день должен быть другим, но он просто возвращает мне 2 дня.
Например, 1 день a go он должен считать 2, 6, 8 (потому что общая сумма равна 2 плюс 6) и так далее. В базе данных есть дата, но после второго взгляда кажется, что она застряла.
Здесь код
<code>$dayLosses = array();
$daywins = array();
$dayTotal = array();
$addCounter = 1;
$counter2 = 2;
while($addCounter < 15){
//losses
$query = "SELECT * FROM `signals` WHERE userID = ? AND outcome = 1 AND created_at BETWEEN
DATE_SUB(DATE(NOW()), INTERVAL $counter2 DAY)
AND DATE_SUB(DATE(NOW()), INTERVAL 1 DAY) ";
//counting losses
$result = $pdo->prepare($query);
$result->bindParam(1, $userID);
if ($result->execute()) {
$dayLosses[] = $result->rowCount();
}
$query = "SELECT * FROM `signals` WHERE userID = ? AND outcome = 2 AND created_at BETWEEN
DATE_SUB(DATE(NOW()), INTERVAL $counter2 DAY)
AND DATE_SUB(DATE(NOW()), INTERVAL $addCounter DAY) ";
//counting winners
$result = $pdo->prepare($query);
$result->bindParam(1, $userID);
if ($result->execute()) {
$daywins[] = $result->rowCount();
}
$dayTotal[] = $day2Loss + $day2Wins;
$counter2 += 1;
$addCounter += 1;
}
echo '<pre>'; print_r($dayLosses); echo '
'; echo '
'; print_r($daywins); echo '
'; echo '
'; print_r($dayTotal); echo '
'; ?>
Вот результат
Array
(
[0] => 2
[1] => 1
[2] => 0
[3] => 0
[4] => 0
[5] => 0
[6] => 0
[7] => 0
[8] => 0
[9] => 0
[10] => 0
[11] => 0
[12] => 0
[13] => 0
)
Array
(
[0] => 6
[1] => 1
[2] => 0
[3] => 0
[4] => 0
[5] => 0
[6] => 0
[7] => 0
[8] => 0
[9] => 0
[10] => 0
[11] => 0
[12] => 0
[13] => 0
)
Array
(
[0] => 8
[1] => 8
[2] => 8
[3] => 8
[4] => 8
[5] => 8
[6] => 8
[7] => 8
[8] => 8
[9] => 8
[10] => 8
[11] => 8
[12] => 8
[13] => 8
)
Что я делаю не так?