如何使用PHP在DB和HTML表单中保存为文本的价格之间进行比较?

时间:2014-03-17 04:35:43

标签: php mysql

在我的mySQL数据库中,在price下我有x.xxx之类的值作为文本。例如3.000,4.350,18.400等。

在我的HTML表单中,我有一些值,如

<option value="4.000">4000 €</option>
<option value="5.000">5000 €</option>
<option value="6.000">6000 €</option>

当我提交时,我使用cast(price as signed)进行<=比较。

有时,结果不正确,因为我试图理解的是,如果没有像5.360那样保存圆形价格而不是5.300

我想通过改变这个我不知道的东西,它将被修复。

您建议我提供什么解决方案?

if (!empty($price)) $conditions[] = "cast(price as signed) <= '".mysql_real_escape_string($price)."'";

1 个答案:

答案 0 :(得分:0)

这应该有用吗? 5.360视为5.3

$conditions[] = "FLOOR(cast(price as signed),1) <= '".mysql_real_escape_string($price)."'";

如果您希望5.360为5.4(向上舍入),请使用:

$conditions[] = "ROUND(cast(price as signed),1) <= '".mysql_real_escape_string($price)."'";