2009-11-11 69 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支持外键),名称等组成。