我有一个包含24个不同按钮的页面。
当用户登录时,我必须检查他是否有权单击该按钮并激活该特定功能。所以我想的是以这种方式存储一个包含24个项目的数组:
[0]=>'yes',
[1]=>'no
所有按钮都是等等。
当我在登录时从数据库中检索此数组时,我将其存储在$ _SESSION数组中,然后对于我可以执行的每个按钮
if($_SESSION['right'][0]=='yes'){
//show the button
}else{
//hide the button
}
数组将存储在一个表中,其中将存在所有不同的用户配置文件(因此每个数组只存在一次),并且每个用户都将加入配置文件ID。
将数组存储在数据库中的最佳方法是什么?或者我想念一个更好的方法来实现我的目标?
答案 0 :(得分:1)
你可以serialize()你的数组并将它插入mysql的varchar字段中,稍后当你需要它时,从db和unserialize()获取它。但更好的方法是使表格成为关系。
答案 1 :(得分:1)
答案 2 :(得分:0)
我在某些CMS中看到过像Wordpress和OpenCart一样的方式。
存储为序列化字符串的数组。 所以,你可以使用 序列化($ array_value) 插入,和 $ array_value = unserialize($ row ['field1'])来选择。
答案 3 :(得分:0)
不要将数据存储在数据库中。这违背了DB的目的。
使用用户标识作为外键创建权限表,然后为每个权限添加INT(1) UNSIGNED
列。零表示否,一表示是。