Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 网站有一个本地列表,用户只需存储数据,简单的表格_Php_Mysql_Database_Database Design - Fatal编程技术网

Php 网站有一个本地列表,用户只需存储数据,简单的表格

Php 网站有一个本地列表,用户只需存储数据,简单的表格,php,mysql,database,database-design,Php,Mysql,Database,Database Design,这就是我所做的。这是一个带有登录页面的网站。登录后,您可以访问一个表,在该表中可以修改以保存有关漫画书的信息(例如,您拥有哪些漫画书、发行版、数量等)。我有一个MySql数据库,有两个表,用户信息和漫画信息。我已经设置好,如果您在用户表中(例如注册),那么您可以访问数据库,但数据库是全局的。用户中的每个人都会看到相同的漫画列表 (很抱歉解释得太长,我只是想说得尽可能清楚) 我不担心安全性,因为它只供大约10个人(朋友)使用,我对PHP和mysql也比较陌生。以上工作是经过数小时的研究和指导的结果

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

(很抱歉解释得太长,我只是想说得尽可能清楚)

我不担心安全性,因为它只供大约10个人(朋友)使用,我对PHP和mysql也比较陌生。以上工作是经过数小时的研究和指导的结果


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

创建一个包含两个字段的表,
用户id
漫画id

该表中的每个条目对应于id为
user\u id
的用户,该用户拥有id为
comic\u id
的漫画

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

其他材料:

创建一个包含两个字段的表,
用户id
漫画id

该表中的每个条目对应于id为
user\u id
的用户,该用户拥有id为
comic\u id
的漫画

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

其他材料:

一种方法是在
comicbook
表中添加“用户id”列

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

SELECT c.id
 FROM comicbook c
 WHERE c.user_id = ?
您为查询中“登录”的用户提供user_id值,以代替该问号

对于DML操作INSERT语句,将“登录”用户的值插入到
user\u id
列中

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

通过这种方法,您可以有效地使单个
comicbook
表对于每个登录用户来说都像一个单独的表,其中每个用户只能查看和更新表中的“部分”,而不能查看或修改没有用其用户id“标记”的行

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



这种方法有一些不符合的要求,比如当你想开始给一些用户“特权”来观看其他用户的漫画,但不是全部。但是当你开始实现它时,你仍然会认为
comicbook
表中的一行“属于”用户。

一种方法是在
comicbook
表中添加一个“user\u id”列

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

SELECT c.id
 FROM comicbook c
 WHERE c.user_id = ?
您为查询中“登录”的用户提供user_id值,以代替该问号

对于DML操作INSERT语句,将“登录”用户的值插入到
user\u id
列中

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

通过这种方法,您可以有效地使单个
comicbook
表对于每个登录用户来说都像一个单独的表,其中每个用户只能查看和更新表中的“部分”,而不能查看或修改没有用其用户id“标记”的行

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



这种方法有一些不符合的要求,比如当你想开始给一些用户“特权”来观看其他用户的漫画,但不是全部。但是当你开始实现它时,你仍然会认为
comicbook
表中的一行“属于”一个用户。

我投了更高的票,因为它对OP来说是最简单的,但总体上不是最好的。我投了更高的票,因为它对OP来说是最简单的,但总体上不是最好的。