2015-10-20 65 views
-2

我有一個表,其中有一行包含每個客戶端的日期以及其他詳細信息。該表格需要有一個空行(除了自動增量id和日期),每天投影到未來1年。如何將包含連續日期的行插入到mysql數據庫中

我試過PHP和SQL,但我有麻煩遞增日期(CHAR 8「YYYYMMDD」)。我也Google了。我希望有人能幫助我。

+0

爲什麼它*已經*包含一行?你應該添加這行嗎?你知道有一些* data *可以加入嗎? – Deduplicator

+0

你不覺得你寫的是壞設計嗎?爲什麼有什麼必須有一個空行?爲什麼要按順序插入日期?解決常規SQL排序不能解決什麼問題?你解決什麼問題?你爲什麼要在'char'中插入一個日期,它不允許你**對你的數據進行操作,而不是讓你操作它的適當的字段類型?你只是有太多的錯誤在那裏,這導致了你的SQL知識不足的結論。你如何介紹你的實際問題,並幫助我們呢? –

+0

你不能使用日期或時間戳數據類型而不是char?你將能夠輕鬆地做各種日期操作。 –

回答

0

業務邏輯的問題放在一邊......

我們可以在一些事情上意見不一致:

  1. 通常有一年365天。
  2. 一天有86,400秒。
  3. php timestamp()以秒爲單位。

那麼這應該幫助:

$i = 0; 
$timeObjectForNow = new DateTime(timestamp()); // Current time 
$todayTimeStamp  = strtotime($timeObjectForNow->format('Y').'-'.$timeObjectForNow->format('n').'-'.$timeObjectForNow->format('d')); 


while($i < 365) 
{ 
    $secondsSinceToday = $i * 86400; 

    $projectedTimeStamp = $todayTimeStamp + $secondsSinceToday; 

    $formatedDate = date('Your formating here', $projectedTimeStamp); 

    //Insert $formatedDate into your date column for the respective projected day. 

} 

我沒有測試上面,它只是給的一種處理這個問題的方式的想法。