2011-08-22 5 views
0

아래 코드는 범위 내에서 숫자 ($ nm)가 이라면 사용자의 위치를 ​​반향시킵니다. $ nm = (10,4,3 (마케팅 담당자, 직원, 직원, 스태프) 대신에 (직원, 직원, 직원, 마케팅 담당자, 직원)이 될 것입니다. 직원, 직원).가장 높은 값에서 가장 낮은 값으로 표시 할 변수를 주문하십시오.

$query = "SELECT DISTINCT username,num FROM user ORDER BY num DESC LIMIT 5"; 
$result = mysql_query ($query) or die('query error'); 
while($line = mysql_fetch_assoc($result)){ 

$um = $line[username]; 
$nm = $line[num]; 

echo "name:$um"; 

if($nm <= 50){ 
echo "Position: president"; 
}else if($nm <= 40){ 
echo "Position: vice"; 
}else if($nm <= 30){ 
echo "Position: manager"; 
}else if($nm <= 20){ 
echo "Position: marketer"; 
}else if($nm <= 10){ 
echo "Position: staff"; 
} 
+1

귀하의 코드는 모든 번호에 대해 ('50 '을 초과하지 않는 한)'회장 '을 인쇄합니다. –

+1

'(10,4,3,3,1)'이 (직원, 직원, 직원, 마케팅 담당자, 직원) (또는 (마케팅 담당자, 직원, 직원, 직원, 직원) 10보다 작거나 같습니까? –

답변

0
while($line = mysql_fetch_assoc($result)){ 
    $ums[] = $line[username]; 
    $nms[] = $line[num]; 
} 

usort($nms); 

foreach ($nms as $nm){ 
    if($nm <= 50){ 
     echo "Position: president"; 
    }else if($nm <= 40){ 
     echo "Position: vice"; 
    }else if($nm <= 30){ 
     echo "Position: manager"; 
    }else if($nm <= 20){ 
     echo "Position: marketer"; 
    }else if($nm <= 10){ 
     echo "Position: staff"; 
    } 
} 
+0

'usort'는 콜백 함수가 필요합니다. –

0

usort 문제

를 해결 것이지만 잘못된 경우 경우/다른 밤은?

should be it?

if($nm <= 10){ 
    echo "Position: staff"; 
} else if($nm <= 20){ 
    echo "Position: marketer"; 
} else if($nm <= 30){ 
    echo "Position: manager"; 
} else if($nm <= 40){ 
    echo "Position: vice"; 
} else if($nm <= 50){ 
    echo "Position: president"; 
} 
관련 문제