포인트에 따라 레벨표시를 하려는데 참고할만한 글이 있을까요?

포인트에 따라 레벨표시를 하려는데 참고할만한 글이 있을까요?

QA

포인트에 따라 레벨표시를 하려는데 참고할만한 글이 있을까요?

본문

일정포인트가 넘으면 이병-일병-상병-병장....

 

이런식으로 아이디 앞쪽에 글씨로 표시를 하거나

 

아이콘으로 표시를 하고싶은데요, 

 

이렇게 구현하려면 초보도 코딩이 가능한 정도인가요?

이 질문에 댓글 쓰기 :

답변 2

이건뭐 간단한거라..

 


//lib/common.lib.php에 아래 함수 추가
function get_level_name($point){
 switch($point) {
  case 0 : case ($point <= 1000) :$level_name='이병';break;
  case ($point > 1000 && $point <= 2000) :$level_name='일병';break;
  case ($point > 2000 && $point <= 3000) :$level_name='상병';break;
  case ($point > 3000 && $point <= 4000) :$level_name='병장';break;
  default : $level_name='훈련병';break;
 }
 return $level_name;
}
 
//출력할때 
echo get_level_name($member['mb_point']);

 

뭐 생각난대로 작성한거긴한데 위 내용을 응용하시면됩니다 ^^

네 0포인트일때 조건값을 잡아주는거라 "훈련병"이란 조건을 0~500정도로한다면

case : 0 case ($point <= 500) : $level_name='훈련병';break; 이렇게 잡으면됩니다

그냥  생각나는대로하다보니ㅋㅋ


//lib/common.lib.php에 아래 함수 추가
function get_level_name($point){
 switch($point) {
  case 0 : case ($point <= 500) :$level_name='훈련병';break;
  case ($point > 500 && $point <= 1000) :$level_name='이병';break;
  case ($point > 1000 && $point <= 2000) :$level_name='일병';break;
  case ($point > 2000 && $point <= 3000) :$level_name='상병';break;
  case ($point > 3000 && $point <= 4000) :$level_name='병장';break;
  default : $level_name='설정안됨';break;
 }
 return $level_name;
}
 
//출력할때 
echo get_level_name($member['mb_point']);


이렇게가 더 정확하겠네요

switch 문의 특성상 그렇게하면 switch가 case를 못잡습니다ㅋㅋ 저도 정확한 이유는 잘모르지만

제가 아는 선에서는 switch문은 변수가가지고있는 값을 검사하는것이라 0이면 0==false기 때문에

switch문이 더이상 작동하지못하더라구요 말그대로 값도없는걸 줘놓고 왜 나보고 이걸 평가하냐?하고 얘가 더이상 작동안해버립니다 ㅋㅋ

sinbi님이 작성하신 코드를 변경하여 넣어보시면 이해가 쉬우실것같습니다 $point가 1이상이라도 있을때는 정상적으로 작동하나 0을넣었을때 보시면 뜬금없이 "이병"을 출력하는걸 보실수있습니다

그래서 case 0 : 으로 0일때 조건을 줘서 0일때도 정상적으로 작동되도록 하는것입니다

DB php javascript 지식이 있는 분이라면 가능 합니다

답변을 작성하시기 전에 로그인 해주세요.
전체 36
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT