min 함수 좀 해결해 주세요.
본문
수학함수 중 min 함수를 사용하려고 하는데요, 그게 잘 되질 않습니다. <br>
감사합니다.
아래와 같이 작성했는데, 왜 안되는지 모르겠습니다. <br>
<br>
while($field=mysql_fetch_array($result)) { <br>
$min_pi=min($field); <br>
} <br>
<br>
데이타베이스에는 결과값이 하나밖에 없습니다. 즉, 필드가 하나이어서, 저렇게 작성을 했구요, <br>
그 값들은 각각 0.0052, 0.8428, 0.0288, 0.0004, 0.0402 입니다. <br>
따라서 최소값은 0.0004 가 나와야 됨에도 불구하고, 0.0402 가 출력됩니다. 왜 그럴까요? 무엇이 문제인지.... <br>
부탁드립니다. <br>
감사합니다.
답변 1
저 명령문 대로라면 값이 0.0402가 맞습니다.
min()함수는 여러개의 값중 가장 작은 값을 찾아내는 함수인데
밑에서는 계속해서 하나의 값만이 들어가니 항상 최소값은 입력되값이 되는겁니다. 그걸 $min_pi에 대입을 하니 결국은 그냥 마지막 값을 구한것과 같은겁니다.
$min_pi = 999999; // 요기는 알아서
while($field = mysql_fetch_array($result) ) {
if($min_pi > $field) $min_pi = $field;
}
echo $min_pi;
요렇게 하면 됩니다.
아니면
$result = mysql_query("select min(field) as min_pi from dbname", $conn);
$min_pi = mysql_result($result, 0, "min_pi");
이런식으로 하시면 되구요.
min()함수는 여러개의 값중 가장 작은 값을 찾아내는 함수인데
밑에서는 계속해서 하나의 값만이 들어가니 항상 최소값은 입력되값이 되는겁니다. 그걸 $min_pi에 대입을 하니 결국은 그냥 마지막 값을 구한것과 같은겁니다.
$min_pi = 999999; // 요기는 알아서
while($field = mysql_fetch_array($result) ) {
if($min_pi > $field) $min_pi = $field;
}
echo $min_pi;
요렇게 하면 됩니다.
아니면
$result = mysql_query("select min(field) as min_pi from dbname", $conn);
$min_pi = mysql_result($result, 0, "min_pi");
이런식으로 하시면 되구요.
답변을 작성하시기 전에 로그인 해주세요.