0

重複の可能性:
MYSQL PHP-get float LIKE $ float

私はデータベースからフロートを持っています。これが私のコードです:

$float = $_GET['float'];
$requst = mysql_query("SELECT * FROM floats WHERE float LIKE'$float.%%%%%%%' AND float2 LIKE'$float2.%%%%%%%'");
while ($r = mysql_fetch_array($requst)) {

    $array[] = $r['float'];

}

ユーザー名からfloatを取得$floatし、データベースのテーブルからfloatを取得し、それを配列に追加するコード。

配列内のどのフロートがほぼに近いかをどのように知ることができ$floatますか?

4

1 に答える 1

0
// Lets cast provided float to float type to prevent sql injections
$float = (float) $_GET['float'];
$requst = mysql_query("SELECT * FROM floats WHERE float LIKE'$float.%%%%%%%' AND float2 LIKE'$float2.%%%%%%%'");
$array = array();
while ($r = mysql_fetch_array($requst)) {
    // Lets store an array of differences between the provided float
    // and db floats, indexed by db float value
    $array[$r['float']] = abs($r['float'] - $float);
}
// Now lets sort the array by values(differences)
// keeping the keys intact
asort($array);
// The first key of the resulting array is the closest float to the provided float
$closest = array_pop(array_keys($array));
于 2012-07-19T14:44:26.743 に答える