PHP - 以时间间隔计算过去15天的元素。

问题描述 投票:0回答:1

我试图根据行的创建时间来计算行。

每一天应该是不同的,但它只是返回我2天。

例如,1天前,它应该计算2,6,8(因为总数是2号加上6号),等等。

下面是代码

$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 '</pre>';
echo '<pre>'; print_r($daywins); echo '</pre>';
echo '<pre>'; print_r($dayTotal); echo '</pre>';
?>

下面是输出

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
)

我做错了什么?

php pdo while-loop intervals date-sub
1个回答
0
投票

上面的输出,是array$dayLosses=array();和$daywins=array();?

这一行的作用是什么:$dayTotal[] = $day2Loss + $day2Wins;?我在你的脚本中找不到其他地方有这些变量。

© www.soinside.com 2019 - 2024. All rights reserved.