php代码没有';t回车循环(mysqli)
我尝试用RGraph(JS)制作一个图表。我的网站上有一个用户计数器。现在我想用这个图表做一个用户统计 然而,我创建了一个列表,应该用于每个查询(制作一个表单来选择月份和年份) 我的问题是代码没有进入循环来创建新值(Day和Count) 有什么想法吗 代码如下: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
$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中提供的大量日期库和函数,你会得到更好的服务(其中一些也是核心功能!)——他们已经解决了所有这些问题,所以你不必这么做。你愿意尝试一下,这很好,但你试图复制该领域专家多年来的共同努力。当所有这些劳动的成果就在你指尖时,这是不值得的。