2009-07-22 88 views
0

在这种情况下,我特指Google朋友连接 - 社交栏参数。用户可以从各种参数设置时选择自己SocialBar即如何将用户自定义参数存储在数据库中?

skin['BORDER_COLOR'] = '#cccccc'; 
skin['ENDCAP_BG_COLOR'] = '#e0ecff'; 
skin['ENDCAP_TEXT_COLOR'] = '#333333'; 
skin['ENDCAP_LINK_COLOR'] = '#0000cc'; 
skin['ALTERNATE_BG_COLOR'] = '#ffffff'; 
skin['CONTENT_BG_COLOR'] = '#ffffff'; 

我想这些自定义值存储在MySQL表,但我不希望创建一个字段为每个可能的参数。

我想在更大的JSON字符串类型将它存储在一个领域:

{"BORDER_COLOR":'#cccccc',"ENDCAP_BG_COLOR",'#e0ecff'} 

或者像一个.ini文件类型数组。 我疯了吗?

原因是我正在处理各种参数,并且未来可能会有更多的参数,这意味着要将另一个字段添加到现有表中。

回答

2

它可以工作,并且将数据解析到一个类中非常容易。

但是,如果您需要为所有用户添加新参数,或者需要更改/修改特定参数,那么在数据库中执行更新会非常麻烦,因为您需要编写应用程序,或者使用字符串操作函数。

一个简单的替代DB的结构,你可以使用:

TABLE PREFERENCES 
(
USER int not null 
KEY varchar(20) 
VALUE varchar(20) 
) 

所以一个记录woud是:

USER=1234 
KEY='ALTERNATE_BG_COLOR' 
VALUE='#ffffff' 
+0

是的,我会建议这一点,这就是我想要做的方式。 – codemonkey 2009-07-22 17:45:08

相关问题