Wil*_*rth 3 php database wordpress
我们试图在数据库中存储类似高度或长度的东西,例如英尺.我无法找到存储干净数据的最佳方法,但管理界面用户也很容易使用.
5' 7"
Run Code Online (Sandbox Code Playgroud)
我期待稍后我需要将它作为搜索结果函数的一部分进行排序,但是以这种方式存储,它是一个字符串.
对我来说最合乎逻辑的是将数值存储为数据库中的英寸(数字),但计算转换为单个数值对于将使用此内容管理系统的人来说太多了.
还有一种担忧是用户可以通过以下几种方式输入:
5' 7"
5'7"
5' 7''
5’ 7”
5‘ 7“
Run Code Online (Sandbox Code Playgroud)
不要问为什么......我们都知道人们会做蠢事.
我们在WordPress上使用高级自定义字段,因此我可以构建一个"长度"或"高度"字段类型,以便在这种情况下使用,它可以处理用户所需的任何计算,但我可能需要一个好的计划在尝试构建附加组件之前攻击解决方案.
绞尽脑汁试图找出如何最好地存档这些数据.任何解决方案都很受欢
将其存储为英寸.您可以允许用户单独输入(一个用于脚,一个用于英寸),允许验证并删除数据输入问题,允许轻松正确排序(74"总是超过64"),并且可以轻松通过除法和模运算转换为英尺/英寸.(当你以英寸为单位存储时,你也可以更容易地对它们进行数学计算 - 更容易找出60到74之间的差异,而不是5'0"和6'2"之间的差异.)
对于无法进行转换的用户,不要求他们这样做.你这样做 - 在存储在数据库中的路上将英尺/英寸转换为英寸,并将其转换回显示或允许编辑.
正如我所说,排序也更容易.排序数字总是使它们保持正确的顺序,而排序字符值可能会导致问题.例如,数字排序总是正确地放在10后面9,而字符排序放在10后面1.
小智 5
让我们分成两块.第一个是关于用户如何输入数据,第二个是如何存储数据.
1 - 用户输入
您可以提供单个字段,并允许用户在预览时输入日期(使用不同的字符识别英尺/英寸或英尺和英寸的不同字段,仅接受数字值.
2 - 数据存储
如果您只提供一个字段,我建议您解析并验证输入并将其保存为数值,以便您可以轻松订购,但每次您需要将其从数字转换为英尺/英寸我将使用这些价值观.我的另一个建议是在你的表中使用2个字段,这样你就可以将feed存储在另一个中,而将其存储在另一个中.这将允许您订购结果集,并且在您需要使用它们时不会浪费处理器时间来转换值.