2015-06-22 25 views
1

嗨我在MySQL數據庫中有一些員工記錄,並使用PHP將這些記錄顯示爲報告。現在我遇到了一些問題,我的員工記錄有未來的細節,比如他們在某個時間點是否有職位。它記錄本周提前16周的細節。現在我在數據庫中爲每週實施了獨立的列,這是我爲測試而創建的。我的DB的如何根據當前時間戳在mysql數據庫中創建動態變化的表格

截圖 - 日期使用黃色 enter image description here

但現在的問題是,我必須手動刪除第一個日期欄,並在結束每星期增加新列,也是我必須更新HTML高亮我用於獲取輸入數據的表單。

<form> 
        <table> 
          <tr> 
          <td>Name:</td> 
          <td colspan="5"><input type="text" size="40"/></td> 
          </tr> 
          <tr> 
          <td>Domain: </td> 
          <td><input type="text" size="10"/></td> 
          <td>Project: </td> 
          <td><input type="text" size="20"/></td> 
          <td>Area Of Testing:</td> 
          <td><input type="text" size="20"/></td> 
          </tr> 
          <tr> 
          <td>EmployeeID:</td> 
          <td colspan="2"><input type="text" size="6"/></td> 
          <td>TKID: </td> 
          <td colspan="2"><input type="text" size="7"/></td> 
          </tr> 

          <tr> 
          <td colspan="6">Billability:</td> 
          </tr> 
          <tr> 
          <td>06/22</td> 
          <td><input type="text" size="4"/></td> 
          <td>06/29</td> 
          <td><input type="text" size="4"/></td> 
          <td>07/06</td> 
          <td><input type="text" size="4"/></td> 
          </tr> 
          <tr> 
          <td>06/22</td> 
          <td><input type="text" size="4"/></td> 
          <td>06/22</td> 
          <td><input type="text" size="4"/></td> 
          <td>06/22</td> 
          <td><input type="text" size="4"/></td> 
          </tr> 
          <tr> 
          <td>06/22</td> 
          <td><input type="text" size="4"/></td> 
          <td>06/22</td> 
          <td><input type="text" size="4"/></td> 
          <td>06/22</td> 
          <td><input type="text" size="4"/></td> 
          </tr> 
          <tr> 
          <td>06/22</td> 
          <td><input type="text" size="4"/></td> 
          <td>06/22</td> 
          <td><input type="text" size="4"/></td> 
          <td>06/22</td> 
          <td><input type="text" size="4"/></td> 
          </tr> 
          <tr> 
          <td>06/22</td> 
          <td><input type="text" size="4"/></td> 
          <td>06/22</td> 
          <td><input type="text" size="4"/></td> 
          <td>06/22</td> 
          <<td><input type="text" size="4"/></td> 
          </tr> 

他們有辦法動態克服這種情況嗎?還是他們的每一週都會自動觸發這些更新的腳本?

+0

我不知道你是否可以動態地刪除和添加列,但也許你可以有16個字段(week1,week2,week3或者你想要調用它們)和'lastWeek'字段,在其中存儲什麼一週字段是您修改的最後一個字段。當您添加新的一週時,您將替換周(lastWeek + 1),並增加'lastWeek'字段。這樣,你將永遠在桌子上過去的16周。唯一的問題是你無法存儲確切的日期。 –

+0

我聽說過MySql中的CREATE EVENT。在這種情況下它會有用嗎? –

回答

3

理想情況下,你將不得不與另一個表:

的EmpID 日期 記錄

然後你會:

1, 「2015年5月1日」,3

2 ,「2015-05-02」,1

etc

然後只需在插入日期時添加日期,或者每週運行一次cronjob,爲每位員工添加7天。

+0

同意,請看看數據庫規範化。 https://en.wikipedia.org/wiki/Database_normalization – Lylo

+0

原則上,我建議將__empID__ + __Date__作爲__PRIMARY__或__UNIQUE__以避免潛在的重複。 – spenibus

+0

@Alexandre在這種情況下,如果我們沒有正確使用任何作業,我們需要手動更新表格? –

相關問題