为什么此代码的结果跳过了几个月?

时间:2019-07-05 15:23:27

标签: php mysql

我试图获取当年每个月的最后一个记录。我有以下日期的记录集:

1/18 / 19,1 / 25 / 19,1 / 31 / 19,2 / 8 / 19,2 / 15 / 19,2 / 22 / 19,2 / 28 / 19,3 / 8/19 ,3/15 / 19,3 / 22 / 19,4 / 5 / 09,4 / 12 / 19,4 / 26 / 19,5 / 3/19等...

当我的代码显示结果时,它将跳过2月和4月的记录,因此仅显示1/31 / 19、3 / 29/19和5/31/19。由于无法显示2/28/19或4/26/19,我无法完全弄清楚我在这里做错了什么。

$sql = "SELECT * FROM production 
            WHERE YEAR(production_date_entered) = YEAR(NOW())
            AND production_date_entered IN (SELECT MAX(production_date_entered) FROM production GROUP BY YEAR(production_date_entered), MONTH(production_date_entered))
            ORDER BY production_date_entered DESC ";
$result = mysqli_query($mysqli, $sql);

while ($row = mysqli_fetch_assoc($result)) {
    $row = mysqli_fetch_assoc($result);
}

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

将PHP代码更改为:

while ($row = mysqli_fetch_assoc($result)) {
    echo $row['production_date_entered'];
    // $row = mysqli_fetch_assoc($result);
}

不是专家,但似乎您正在执行额外的操作。您是否有比此更多的PHP代码来显示如何显示/处理结果?