2011-09-04 61 views
0

我在php中構建日曆事件。我已將所有事件存儲在數據庫中。並根據當前月份顯示日曆事件。如果當前月份是feb,那麼此腳本將打印所有feb月份事件。 這裏查詢:試圖從數據庫打印所有事件(尋求建議)

$result = $db->query("SELECT * FROM EVENTS WHERE user_id = '".$_SESSION['userid']."'); 

這裏是我的代碼

$current_month = date('m'); 
$current_year = date('Y'); 
while ($row = $result->fetch_array(MYSQLI_ASSOC)) { 
if($current_month == date("m", strtotime($row['date'])) && $current_year == date("Y", strtotime($row['date']))) { 
print current month events  
} 

但問題是,如果當月有沒有任何事件。那我該怎麼辦?請幫助我謝謝。如果你在我的代碼中發現任何錯誤。請指出我的錯誤。謝謝你:-) 編輯 - 但問題是如果當前月份沒有任何事件。然後我想打印下個月的活動。怎麼可能?

回答

0

但問題是如果當前月份沒有任何事件。那我該怎麼辦?

您可以嘗試爲當月添加一些事件。


編輯:但是,沒有開玩笑,你的代碼不是那麼好。起初沒有查詢,所以我們必須猜測你的查詢是正確的。你打印了查詢的所有結果嗎?是否有任何應該顯示的事件?其次,你顯然不使用SQL的強大「WHERE」,你只需檢索所有事件並使用php(if語句)過濾它們。你不應該。如果數據庫中有成千上萬的事件怎麼辦?

編輯:答案是不正確的,增加幾個月和幾年會比單個計數器稍微遠一點。你可以改變你的if語句並在那裏添加一個計數器,但是如果它是2011年12月,並且沒有事件,你會查詢哪個月份和哪年? ;-)你應該看看ADDDATE()並在你的查詢中使用它。

+0

輝煌。主要是因爲這正是我想要建議的:-) +1 – Nemoden

+0

@CodeCaster:然後我想打印下個月的活動 –

+0

@CodeCaster謝謝 –