2009-11-11 52 views
4

我打算使用PHP/MySQL/Codeigniter進行項目管理。如何讓會話允許不同的項目?

它將有10 - 20個用戶和20 - 30個項目在同一時間進行。

比方說,約翰是項目A,B的成員,並且C.辛迪是在A,d,F,G等

我想讓它只是項目的成員可以訪問項目。

現在我不知道如何解決這個問題。

對於DB設計和會話,你有什麼建議?

任何資源將不勝感激。

回答

4

如果你不想使用框架解決方案:

  1. 具有用戶,項目和UserProject表。

  2. 對於用戶所在的每個項目,UserProject表將在一行中包含用戶標識和項目標識。

  3. 創建會話時,您可以從UserProject表中獲取哪些項目是允許的(例如,將它們放入可以在顯示導航時搜索的數組中)。

  4. 此外,每個項目可以有一個用戶設置爲管理員,可以添加其他用戶。

1

至於會話存儲,我可以推薦memcached。有一個PHP函數可以讓你設置你自己的會話處理程序。不要將會話保存到真實的數據庫中。這會增加不必要的開銷。

由於您的文章缺乏實質性信息,因此我無法告訴您有關數據庫設計的太多內容。因此,我只想說,創建兩個表格,「用戶」和「項目」。 「用戶」由列ID,名稱和電子郵件組成。項目由列ID,用戶ID(如果DBMS支持外鍵),名稱等組成。