我需要找到一种在数据库中查找字段的方法; 在数字上,是与用户在网络表单中输入并提交的内容匹配.
更深入的解释:
在数据库表中有两行,字段条目为80.1和80.7.如果站点用户将80输入到Web表单上的输入元素并提交该值,则处理脚本将查找该表并查找具有80.1的行,并选择此作为壁橱匹配.
如果是另一种方式,即用户输入浮动整数(80.6),该表寻找最接近的舍入数,即(90),这将是容易的.我显然错过了一些东西,并认为PHP中会有一个内置函数.
如果我没有解释好自己,请道歉,如果是,请告诉我.
Mar*_*c B 31
SELECT ABS($user_value - numeric_field) as nearest, ...
FROM yourtable
ORDER BY nearest ASC
LIMIT 1
Run Code Online (Sandbox Code Playgroud)
基本上,取你想要的数字字段和用户提供的值的差值,然后按差异升序排序,然后返回第一行.
因此,完全匹配将具有0的差异并且首先出现.如果没有完全匹配,则选择"最接近"的那个.
尝试这个
SELECT * FROM `table_test1` where `price` > 80 order by `price` asc limit 1
Run Code Online (Sandbox Code Playgroud)