【发布时间】:2011-08-14 22:20:23
【问题描述】:
我要在网页中显示数据库 (SQL SERVER 2005) 表中的行。这些行包含由 Status 表进一步定义的 statusID(外键)(例如 id、name、modifiedDate)。
各种状态应该以不同的方式显示(假设它们只是具有不同的背景颜色)。
我正在使用php查询数据库,并建立网页表。在构建表格时,我将根据该行的状态将 css 类应用于元素。
我至少有两个选择:
在 php 中定义代码逻辑来处理它,如果数据库中的状态发生变化,我将不得不更改代码。
将“类”存储在数据库中,然后简单地应用已存储的类。
后一个选项对我来说似乎更好,但我不确定将表示性数据嵌入数据库是否是一个糟糕的设计选择。这将是我创建几个 Intranet 实用程序的基础,我想从正确的角度开始。
【问题讨论】:
-
我认为“应用一个css类”你的意思是应用一个类属性? ;)
-
约定优于配置?我只需为 Status 表中的每条记录创建一个“status_
”CSS 类...只需应用一些标准字符串修改来删除不适合 CSS 类名的空格和其他字符。 -
您是否认为您会添加许多不同的状态?如果您允许用户自定义状态及其外观,那么您将不会存储类信息 - 因为他们无法添加类。您可能正在存储特定的可自定义选项,例如背景颜色或字体颜色。通常状态是明确定义的,它不应该有太大变化。像 GetStatusClass(statusValue) 这样返回适当类的简单函数应该不会有太大变化。
-
@Richard 是的“类属性”。
-
@Prescott - 好点。虽然我认为状态不会有太大变化,但这个原则将应用于应用程序的其他部分,这只是一个例子。整个事情也处于非常早期的阶段,最初状态可能会发生根本性的变化。
标签: php sql css database sql-server-2005