问题描述
|
我只是设计了Pm系统[一个简单的说法],现在我想为该系统设计一个颜色选择器,当查看所有pm时,应该以类似于Google在gmail上的方法显示的不同颜色显示。下面是我现有的数据库架构
**Messages:**
Id:int identity 1,1
Message: nvarchar(500)
From:nvarchar(100)
To:nvarchar(100)
IsDeleted: Bit
IsRead: Bit
如何以不干扰现有设置的方式添加颜色字段。例如,阅读邮件的颜色,已删除邮件的颜色[lol],以便我可以使用背景色来显示区别
解决方法
我假设(也许是错误的)将其输出为HTML。
数据库用于数据,已读消息的颜色是表示形式。而是将颜色存储在数据库中的每条消息中,甚至仅在表中为此存储一次,而是使用HTML指示其状态。
当您使用HTML输出消息列表时,添加一个基于数据库值指示其状态的类:
<div id=\"message\" class=\"read\"> ... message details ... </div>
<div id=\"message\" class=\"deleted\"> ... message details ... </div>
在CSS中,定义读取,删除等样式,但是您需要:
.read {
background: #e0e0e0;
}
.deleted {
background: #e0e0e0;
color: #ccc;
}
这样可以使数据库,HTML和CSS保持独立,这应该是这样。
, 如果希望每个用户都有自己的颜色架构,则可以创建一个表名usercolor作为
userid int
deleteColor varchar(6)
ReadedColor varchar(6)
等等等等等等
你可以这样在表中存储数据
userid deleteColor ReadedColor
1 e0e0e0 e0e0e1
在用户界面中,创建一个用此颜色填充的组合框,并允许用户选择自己的颜色,然后将数据存储在数据库中
每次用户加载页面时,从usercolor表中读取用户颜色数据并设置相关颜色