2016-10-01 96 views
3

我想創建一個事件,應該每週重複同時。如何創建可重複的事件php/mysql(每週)

這就是我現在所擁有的

用戶發送postString到我的PHP腳本看起來像這樣:

weekly=true&dateFrom=2016-10-01 14:00&dateTo=2016-10-01 15:00&usrId=1 

然後我用PHP腳本MySQL的聲明,這些數據插入到MySQL數據庫。 這是我的插入函數:

public function newEvent($weekly, $dateFrom, $dateTo, $usrId) { 

    $sql = "insert into myTableName set weekly=?, dateFrom=?, dateTo=?, usrId=?"; 
    $statement = $this->conn->prepare($sql); 
    if (!$statement) 
     throw new Exception($statement->error); 
    $statement->bind_param("ssss", $weekly, $price, $sport, $participants, $latitude, $longitude, $description, $dateFrom, $dateTo, $usrId, $title); 
    $returnValue = $statement->execute(); 
    return $returnValue; 
} 

它工作正常,但我實際的目標是

當用戶發送postString像上面的例子,如果每週爲真 我想我的活動每週重複一次,我希望能夠在未來一週內搜索活動。

:我weekly=true&dateFrom=2016-10-01 14:00&dateTo=2016-10-01 15:00&usrId=1是這樣的,如果我跑這個MySQL聲明

SELECT * 
    FROM myTableName WHERE dateFrom >= 2016-10-08 13:00 
     AND dateTo <= 2016-10-08 16:00 LIMIT 0 , 30 

我想從我的事件在創建時具有時間dateFrom=2016-10-01 14:00&dateTo=2016-10-01 15:00獲取數據。

我的問題是:

有什麼辦法我怎麼能做到我剛纔所描述的事情嗎?

如果您需要更多的細節請讓我知道。 非常感謝你:)

+1

使用cron作業.... –

+1

爲什麼不使用cronjobs? – SAM

+0

我主要是iOS開發人員,所以我非常少用php/MySQL。 –

回答

2

如何:

添加兩列:weeklyDateFromweeklyDateTo,從週一0:00收納部分鐘。

例如,對於2016-10-01 13:00Sat. 13:00,你只存儲它作爲7560,因爲5天+ 6H = 126H = 7560min。那麼2016-10-01 15:007720

當你想搜索10-08 12:00 ~ 16:00,只是做:

SELECT * 
    FROM myTableName WHERE weeklyDateFrom >= 7500 
    AND weeklyDateTo <= 7780 LIMIT 0 , 30 

,你會得到它,有沒有丟失了所有的原始事件數據!

希望這個作品!祝你有美好的一天!

+0

真棒的想法!我一定會試試 –

+0

@ 0ndre_感謝您的讚賞! (如果你喜歡它,你可以選擇它作爲最佳答案,並給它一個投票。) – Turtle

+0

我已經投票了,我會接受它,當我解決我的問題。 :) –

相關問題