2013-05-04 37 views
1

因为即使能够找到以前那里的年份。也就是说,我们在2015年,所以它必须采取所有去年的所有人。但是,它并没有把握我们正处于适当时期的那一年。设置今年之前 - 数据库 - php

只有就像到

printf("<br>i år 2013 var der %d. brænde", $mebe->statistik("2013")); 

它只是花了几年甚至然后,只要我得到至2014年它是在2013年,但我得到至2015年,所以我不得不既2013年和2014年没有我不得不

2013年5月1日11时13分48秒

:他们从数据库的时间和日期添加到代码,以便有点不对付你在一年

屋顶像这样。

它必须是它只检查年份。

function statistik($year=""){  
    $year=($year !="")? $year : date("Y"); 
    $row_cnt=0; 
    if ($result = $this->mysqli->query("SELECT melding, tidspunkt FROM alarm WHERE YEAR(tidspunkt)=$year")) { 
     $row_cnt = $result->num_rows;  
     /* close result set */ 
     $result->close(); 
    } 
    return $row_cnt;  
} 

它甚至会在今年之前发现今年。

+8

我认为英语不是您的第一语言,这很好,但您的问题并不完全足够清楚地了解你想要什么。 – davidethell 2013-05-04 11:33:23

+0

你可以试试'echo date(“Y”,strtotime('last year'));'或'echo date(“Y”,strtotime('next year'));'根据情况 – Baba 2013-05-04 12:00:23

+0

抱歉,诵读困难和英语差:( – 2013-05-04 12:03:52

回答

1

有很多方法可以做到这一点。例如:

$thisYear = date('Y', time()); 
$previousYear = $thisYear - 1; 
0

如果我理解正确你的问题,请尝试更换这条线在你的函数

$year=($year !="")? $year-1 : date("Y", strtotime('-1 year')); 

这样做是什么检查,如果一年传递给函数。如果确实如此,则减少1,如果不是,则采用当年,然后减1。

+1

我不反对downvoting,但至少不得不礼貌地指定downvote的原因。 – asprin 2013-05-04 11:42:30

+0

它没有,它看起来,在这两种事物上都输入0,它不会,表示当年这里: ' $年=($年= “!”)$年-1:日期( “Y” 的strtotime(“ - 1年)); \t \t $ row_cnt = 0; \t \t if($ result = $ this-> mysqli-> query(“SELECT melding,tidspunkt FROM alarm WHERE YEAR(tidspunkt)= $ year”)){ \t \t \t $ row_cnt = $ result-> num_rows; \t \t \t \t \t/*靠近结果集*/ \t \t \t $ result->接近(); \t \t} \t \t \t return $ row_cnt; printf(“
iår2013 var der%d。brænde”,$ mebe-> statistik(“2013”​​)); (“
i detteårharderværet%d。brænde”,$ mebe-> statistik()); ' – 2013-05-04 12:02:27