0

这就是我所做的。它是一个带有登录页面的网站。登录后,您可以访问一个表格,您可以在其中修改以保存有关漫画书的信息(例如,您拥有哪些漫画书、发行、卷等)。我有一个带有两个表的 MySql 数据库,用户信息和漫画信息。我已经设置,如果您在用户表中(例如已注册),那么您可以访问数据库,但数据库是全局的。用户中的每个人都会看到相同的漫画列表。

(对不起,解释太长了,只是想尽可能清楚)

我不担心安全性,因为它仅供大约 10 个人(朋友)使用,而且我对 PHP 和 mysql 也比较陌生。上述工作是大量研究和教程的结果。

我的问题是,我将如何让每个用户拥有他们自己的个人列表,他们可以在其中修改以添加他们自己的漫画信息,并且只有他们在登录后才能访问?

4

2 回答 2

3

创建一个包含两个字段的表,user_id然后comic_id.

该表中的每个条目对应于user_id拥有 id 漫画的 id用户comic_id

这就是通常所说的用户和漫画之间的多对多关系。

补充材料:

于 2012-08-01T16:09:48.613 回答
1

一种方法是在您的表上添加一个“user_id”列comicbook

然后可以修改您的 SELECT 查询以在 WHERE 子句中添加谓词

SELECT c.id
 FROM comicbook c
 WHERE c.user_id = ?

您为查询中“登录”的用户提供 user_id 值,以代替该问号。

对于 DML 操作 INSERT 语句,您将“登录”用户的值插入到user_id列中。

对于 UPDATE 和 DELETE 操作,您向 WHERE 子句添加谓词,就像您对 SELECT 所做的那样。

使用这种方法,您可以有效地使单个comicbook表看起来像每个登录用户的单独表,其中每个用户只能查看和更新​​表的“部分”,而不能查看或修改未“标记”的行与他们的 user_id。

这可能是实现您既定目标的最简单方法。


此方法无法满足某些要求,例如当您想开始授予某些用户“特权”以查看其他用户的漫画时,但不是全部。但是当你开始实现它时,你仍然会认为comicbook表中的一行“属于”用户。

于 2012-08-01T16:20:06.177 回答