2013-05-04 38 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