2017-10-09 11 views
0

私は、データベース内の最も近い数値の一致を、ユーザーがPHPで入力したものと一致するものから探します。データベースの値を整数で乗算すると、ユーザー入力に近い値を見つけることができます。例についてはデータベーステーブルの最も近い値

950, 900, 1070 

ユーザー入力値:2000

ないシステムがチェックする必要があります:2000

950 * 2 = 1900 
900 *2 = 1800 
1070 * 2 = 2140 

をだから、最も近い値 データベースには、次のパレットを持っていますどんな助けもありがとう。

+1

の可能性のある重複(https://stackoverflow.com/questions/7269243/how-to-get-nearest-value-from-database- [MySQLでデータベースから最も近い値を取得する方法] in-mysql) –

答えて

1

このクエリを試してください。また、2000をユーザー入力に置き換えてください。

SELECT your_column, abs(2000 MOD your_column)) as diff 
FROM `mytable` 
ORDER BY diff 
LIMIT 1 
+0

しかし、番号2は可変であるかもしれません。つまり、3つのいずれかになります。 –

+0

答えが更新されました。 – tan

+0

こんにちは@tan、クエリをありがとう。それは私の問題を解決しました。 –

0
SELECT your_column, abs($_POST['form_field_name']-(your_column*2)) as setcustomcolumn FROM `rablename` order by columnname LIMIT 1 
+0

あなたの答えを説明してください – Thamaraiselvam