전화번호 오픈 문의드립니다.

전화번호 오픈 문의드립니다.

QA

전화번호 오픈 문의드립니다.

본문

현재 회원레벨 5인경우에만 전화번호 뒷자리 2개가 표출되도록 소스가 아래처럼 적용되어있습니다.

아래의 소스에서 추가로

 

 

1.게시글이 최근 한달내에 올라온 전화번호는 견적완료,견적취소일경우(여분필드wr_5이용)

 레벨상관없이 모두 오픈되고 , 상담신청일 경우에만 레벨 5일경우만 볼수 있게 하고

 

2.최근 한달내로부터 그 이후꺼(과거데이터)는 완료,신청,취소 상관없이

레벨5만 볼수있고 레벨5이하는 모두 못보게 모두 뒷자리두개를 막는 방법은 없을까요

 

 

 

(이래저래 조건이 많은데 기존소스에서 날짜의 제한이 필요해서 

수정하기가 어렵네요..ㅠㅠ 도와주시면 감사하겠습닏.)

 

 

  if ($list[$i]['wr_6']) { // 전화번호 필드에 값이 있으면
    if ($member['mb_level'] >= 5) // 회원 레벨이 5 이면
        $hp = $list[$i]['wr_6'];
    else // 회원 레벨 5가 아니거나, 비회원이라면
        $hp = substr($list[$i]['wr_6'], 0, -2) . "<span style='color:#ff0000; font-weight:600;'> * * </span>";
            
    $hp_hyphen = preg_replace("/(0(?:2|[0-9]{2}))([0-9\*]+)([0-9]{4}$)/", "\\1-\\2-\\3", $hp); // 하이픈 정규식 처리 

}


 

이 질문에 댓글 쓰기 :

답변 1

 

1.게시글이 최근 한달내에 올라온 전화번호는 견적완료,견적취소일경우(여분필드wr_5이용)

 레벨상관없이 모두 오픈되고 , 상담신청일 경우에만 레벨 5일경우만 볼수 있게 하고

=> 

    게시글 조회 쿼리의 조건을 변경하시는게 효율적입니다.

    조회시 레벨이 5레벨 이상인 쿼리와

                레벨이 5레벨 이하인 쿼리로 분리를하시고

     레벨이 5 이상인건 현재버전으로 놔두시고, (그러면 스킨을 건드릴 필요가 없죠)

     레벨이 5 이하인건 쿼리에서 전화번호필드 뒷자리를 잘르고 ** 를 붙인후 값을 가져오면

     조회화면을 구성할때 레벨체크할 필요가 사라집니다.

 

2.최근 한달내로부터 그 이후꺼(과거데이터)는 완료,신청,취소 상관없이

레벨5만 볼수있고 레벨5이하는 모두 못보게 모두 뒷자리두개를 막는 방법은 없을까요

=> 이것도 마찬가지로 

      과거자료라는 조건적을 한번더 걸어주는겁니다.

       레벨 5 이상은 그대로 두고(위와같이)

       레벨 5 이하일때

           쿼리 자체를 또 한번 분리해서 작성합니다. 

            한달이 경과했으면 전화번호 뒷자리에 **** 로 마킹

            한달이 경과하지 않았으면 두시자리에 ** 만 마킹 

            아무래도 Row가 뒤섞여있을테니, 이건 컬럼자리에서 마킹하는게 좋겠죠

            oracle 의 decode와 같은 mysql 에 if ( ) 로 값을 가져오면 해결됩니다.

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

회원로그인

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