php代码没有';t回车循环(mysqli)

php代码没有';t回车循环(mysqli),php,mysqli,Php,Mysqli,我尝试用RGraph(JS)制作一个图表。我的网站上有一个用户计数器。现在我想用这个图表做一个用户统计 然而,我创建了一个列表,应该用于每个查询(制作一个表单来选择月份和年份) 我的问题是代码没有进入循环来创建新值(Day和Count) 有什么想法吗 代码如下: $days = 0; $day_value = array(); //check months which have 30 days if (in_array($month, array(4,6,9,11))) { $days

我尝试用RGraph(JS)制作一个图表。我的网站上有一个用户计数器。现在我想用这个图表做一个用户统计

然而,我创建了一个列表,应该用于每个查询(制作一个表单来选择月份和年份)

我的问题是代码没有进入循环来创建新值(Day和Count)

有什么想法吗

代码如下:

$days = 0;
$day_value = array();

//check months which have 30 days
if (in_array($month, array(4,6,9,11))) {
    $days = 30; 

}
//leapyear?
if ($month == 2) {
    if ($year%4 == 0) {
        $days = 29;
    } else {
        $days = 28;
    }
} 

//Count users for each day
for ($i=1; $i<=$days; $i++) {
    $sql = "SELECT
                 Anzahl
            FROM
                 Counter
            WHERE
                 YEAR(Datum) = '".$year."' AND
                 MONTH(Datum) = '".$month."' AND
                 DAYOFMONTH(Datum) = '".$i."'";
    if (!$result = $db->query($sql)) {
        return $db->error;
    }

    $row = $result->fetch_assoc();
    $day_value[$i] = (int)$row['Anzahl'];
} 

//delete list for new month/year
$sql = "DELETE
        FROM
            Statistics
           ";
if (!$result = $db->query($sql)) {
    return $db->error;
}

//Create list with values for each day
for ($j=1; $j<=$days; $j++) {
    $sql = "INSERT INTO 
                Statistics(Day,Count)
            VALUES 
                (?, ?)";
    $stmt = $db->prepare($sql);
    if (!$stmt) {
        return $db->error;
    }
    $stmt->bind_param('ii', $j, $day_value[$j]);
    if (!$stmt->execute()) {
        return $stmt->error;
    }

    $stmt->close();
}
$days=0;
$day_value=array();
//检查有30天的月份
if(在_数组中($month,数组(4,6,9,11))){
$days=30;
}
//闰年?
如果($month==2){
如果($year%4==0){
$days=29;
}否则{
$days=28;
}
} 
//每天统计用户数
对于($i=1;$iquery($sql)){
返回$db->error;
}
$row=$result->fetch_assoc();
$day_值[$i]=(int)$row['Anzahl'];
} 
//删除新月份/年度的列表
$sql=“删除
从…起
统计
";
if(!$result=$db->query($sql)){
返回$db->error;
}
//创建包含每天值的列表
对于($j=1;$jprepare($sql);
如果(!$stmt){
返回$db->error;
}
$stmt->bind_参数('ii',$j,$day_值[$j]);
如果(!$stmt->execute()){
返回$stmt->错误;
}
$stmt->close();
}

$days
设置为0,仅当
$months
为2,4,6,9,11时才会更改,因此对于
$month
$days
的其他每一个值,它将为0,并且不会进入for循环

if (in_array($month, array(4,6,9,11))) {
//code
}
elseif ($month == 2) {
//code
}
else{
//code
}

你的日历上没有31天的月份吗?还有一些内置函数可以在php中使用日期/时间进行计算。这将通过闰年计算修复你的错误(再次研究规则)。同意……这只是一个糟糕的计划。使用php中提供的大量日期库和函数,你会得到更好的服务(其中一些也是核心功能!)——他们已经解决了所有这些问题,所以你不必这么做。你愿意尝试一下,这很好,但你试图复制该领域专家多年来的共同努力。当所有这些劳动的成果就在你指尖时,这是不值得的。