我試圖從數據庫中選擇以獲取日期落入的「活動」這個月。到目前爲止,我已經成功地抓取了當前月份內開始或結束的行。我現在需要做的是選擇從一個月開始到行結束幾個月的行(EG:這是今年的第三個月,並且有一個「活動」從第一個月開始直到5。其他例如有一種「運動」,從2012年持續到2013)從當前日期在開始日期和結束日期之間的MySql中獲取行(檢查當前日期是否在開始日期和結束日期之間)
我希望有一些方法通過MySQL來選擇其中一個capaign可以運行所有行。如果不是,我應該抓取數據庫中的所有數據,只顯示當月運行的數據。
我已經做了一個函數,顯示數組內的每個日期之間的所有天,這被稱爲「dateRange」。我還創建了另一個顯示廣告系列運行時間爲「runTime」的天數。
選擇所有(顯然)
$result = mysql_query("SELECT * FROM campaign");
選擇從這個月開始
$result = mysql_query("SELECT * FROM campaign WHERE YEAR(START) = YEAR(CURDATE()) AND MONTH(START) = MONTH(CURDATE())");
選擇結束本月
$result = mysql_query("SELECT * FROM campaign WHERE YEAR(END) = YEAR(CURDATE()) AND MONTH(END) = MONTH(CURDATE()) LIMIT 0 , 30");
代碼示例
while($row = mysql_fetch_array($result))
{
$dateArray = dateRange($row['start'], $row['end']);
echo "<h3>" . $row['campname'] . "</h3> Start " . $row['start'] . "<br /> End " . $row['end'];
echo runTime($row['start'], $row['end']);
print_r($dateArray);
}
在問候的日期,MySql數據庫僅持有啓動活動的日期和結束日期。
這是完美的,正是我所希望的!非常感謝。 –