2012-07-19 6 views
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인지 알 수 있습니까?

+0

float- $ 플로트 제한 1' – rsplak

+3

에 의해 수레 순서에서 선택 '과 같은 *에 대해 나는이 – catchmeifyoutry

+1

사이드 메모를 일이 기다리고 SQL 주입하기 때문에이 단지 몇 가지 예제 코드입니다 희망 방법 : 모두와 함께 무엇 퍼센트 기호? 하나는 충분할 것입니다. – Wiseguy

답변

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)); 
+0

뭐하는거야? 코드가하는 일을 말할 수 있습니까? – theShay