php – 以不会让用户疯狂的方式在数据库中存储长度或高度
发布时间:2020-12-13 22:04:42 所属栏目:PHP教程 来源:网络整理
导读:我们试图在数据库中存储类似高度或长度的东西,例如英尺.我无法找到存储干净数据的最佳方法,但管理界面用户也很容易使用. 例 5' 7" 我期待稍后我需要将它作为搜索结果函数的一部分进行排序,但是以这种方式存储,它是一个字符串. 对我来说最合乎逻辑的是将数值
我们试图在数据库中存储类似高度或长度的东西,例如英尺.我无法找到存储干净数据的最佳方法,但管理界面用户也很容易使用.
例 5' 7" 我期待稍后我需要将它作为搜索结果函数的一部分进行排序,但是以这种方式存储,它是一个字符串. 对我来说最合乎逻辑的是将数值存储为数据库中的英寸(数字),但计算转换为单个数值对于将使用此内容管理系统的人来说太多了. 还有一种担忧是用户可以通过以下几种方式输入: 5' 7" 5'7" 5' 7'' 5’ 7” 5‘ 7“ 不要问为什么……我们都知道人们会做蠢事. 我们在WordPress之上使用Advanced Custom Fields,所以我可以建立一个“长度”或“高度”字段类型用于这种情况,它将处理用户所需的任何计算,但我可能需要一个好的攻击计划在尝试构建附加组件之前的解决方案. 绞尽脑汁试图找出如何最好地存档这些数据.任何解决方案都很受欢 解决方法
将其存储为英寸.您可以允许用户单独输入(一个用于脚,一个用于英寸),允许验证并删除数据输入问题,允许轻松正确排序(74“总是超过64”),并且可以轻松通过除法和模运算转换为英尺/英寸. (当你以英寸为单位存储时,你也可以更容易地对它们进行数学计算 – 更容易找出60到74之间的差异,而不是5’0“和6’2”之间的差异.)
对于无法进行转换的用户,不要求他们这样做.你这样做 – 在存储在数据库中的路上将英尺/英寸转换为英寸,并将其转换回显示或允许编辑. 正如我所说,排序也更容易.排序数字总是使它们保持正确的顺序,而排序字符值可能会导致问题.例如,数字排序总是在9之后正确放置10,而字符排序将在1之后放置10. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |