带有用户设置的php/mysql表

带有用户设置的php/mysql表,php,mysql,sql,Php,Mysql,Sql,所以我创建了这个应用程序,它显示小部件。每个小部件都是一个*.php文件,用于显示mysql数据库中不同类型的数据。我还创建了一个文件options.php,每个用户都可以访问该文件,并可以更改每个小部件显示的位置、高度、颜色和宽度。(假设小部件是一个div,其中包含数据库的信息) 我面临的问题是如何存储特定于用户的数据。此时,按下保存按钮后,更新所有行,而每行包含特定的小部件选项 例如: 选项表有以下字段:[id][name][height][position][color]。目前,所有用户都

所以我创建了这个应用程序,它显示小部件。每个小部件都是一个
*.php
文件,用于显示mysql数据库中不同类型的数据。我还创建了一个文件
options.php
,每个用户都可以访问该文件,并可以更改每个小部件显示的
位置、高度、颜色和宽度。(假设小部件是一个div,其中包含数据库的信息)

我面临的问题是如何存储特定于用户的数据。此时,按下保存按钮后,
更新所有行,而每行包含特定的小部件选项

例如:


选项表有以下字段:
[id][name][height][position][color]
。目前,所有用户都看到相同的位置,因为它不是特定于用户的。我在考虑用分隔符将所有小部件名称存储在一行中,然后用分隔符存储所有位置……但我不知道如何操作。

我建议您将每个字段存储在不同的列中,这样更清晰、更优雅,在列中使用分隔符存储不同的值似乎有点讨厌


您可以创建一个表小部件配置,其中所需参数有不同的列:)

如果每个小部件的设置量不同(因此列数不同),您可以创建一个字段blob并将序列化数组传递到那里。另一种选择是为每个小部件查找公共字段,并仅序列化单独列中剩下的内容

进行小部件设置的步骤

特定于用户

只需将相应的小部件设置行链接到用户id。如果每个用户都有带有设置的个人行,则在相同的情况下效果更好


如果我正确理解了您的问题,以下所有内容当然都是正确的。

您想要一张表格来显示职位选项:


可分割:
id-INT(您希望它是自动递增的主键)
名称-VARCHAR
userid-INT
顶部-内部
左-整数
宽度-INT
高度-INT

ID是主键,应该是第一件事 在几乎每个MySQL表中。。。
名称是Div的名称


UserId是表中的外键,指向“Users”表中的ID号
然后你知道哪个用户拥有这个DIV,你可以选择他所有的DIV,以便以后很容易地重新绘制,等等


您可以通过用户名(或其他方式)从Users表中获取用户id号

从“Users”中选择ID,其中username='johndoe121' 假设它返回21。现在按如下方式查找所有/his/DIV选项:

select * from `options` where userid = '21' 从“选项”中选择*其中userid='21'
这就是我最初所做的,但它们必须是特定于用户的。共有18个“小部件”,每个小部件有5个参数。您的表格可以有用户和小部件的id。(如果是表格,则为fk),即:创建一个属性为:(宽度、高度等,用户和小部件)所有字段都是通用的:高度、宽度、位置和color@fogsy所以所有小部件都有相同的字段。那么,您可以为小部件名称和它们的ID创建分类器。例如,其他表将有客户。第三个表可以将所有这些字段(高度、宽度、位置和颜色)作为单独的列,再加上一列小部件id和一列客户id。另外,我认为从客户id和小部件id生成复杂的唯一键是正确的。我希望,您能问到这一点。 select * from `options` where userid = '21'