我正在开始一个新的个人项目,但我遇到了一些我无法处理的事情。我将用一个例子向你解释。
在我的网站(带有 CodeIgniter 框架的 PHP)上,我有用户。每个用户都应该有自己的预定义项目列表(数百个项目,所有用户都可用)。当用户注册时,他可以看到该列表,但上面有“未赢得”的提示。随着时间的推移,他将赢得元素,并且在显示列表时,他收集的元素应该有“赢得”的字样。我认为我(显然)需要一个用户表和一个项目表。但我不知道如何链接表格以使每个用户拥有自己的个人项目列表,这取决于他自己而不是其他用户。
我认为我可以处理代码,但我真的不知道如何组织我的数据库。如果有人能给我一些关于这方面的提示,那就太棒了!
最佳答案
您需要三个表:users
、items
和 user_items
。 user_items
表包含 user_id
和 item_id
列,因此您可以通过查询 user_items
表获取用户赢得的元素。
例如获取id为7的用户的元素:
SELECT items.id, items.name FROM items JOIN user_items ON items.id = user_items.item_id WHERE user_items.user_id = 7
关于php - 如何组织数据库中的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20377075/