회원정보수정시 $member[mb_name]의 항목을 불러오는데 실제 코드는 어디에 위치해 있나요? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

회원정보수정시 $member[mb_name]의 항목을 불러오는데 실제 코드는 어디에 위치해 있나요? 정보

회원정보수정시 $member[mb_name]의 항목을 불러오는데 실제 코드는 어디에 위치해 있나요?

본문

회원정보 이외의 정보들이 필요해 기존의 g4_member 테이블에
 
하나더(예: member_model) 추가로 테이블을 구성하였습니다. 테이블 조인해서 쓰려구요...
 
그런데 회원정보 수정시 $member[mb_name]와 같은 변수는 g4_member 테이블에서
 
가져온 정보인데 제가 추가한 테이블의 정보는 어떻게 가져와야 하는지 궁금합니다.
 
$member[mb_name] 변수값을 가져오는 소스코드를 찾기가 힘드네요...
 
안되면 그냥 sql문을 써야되는건지... 그럼 답변 부탁드립니다.
  • 복사

댓글 전체

$member[member_model] (현재 접속자의 member_model 값을 가져와야 하는경우)
$mb[member_model] (회원리스트 row에서 각 회원의 member_model값을 가져오는 경우)

 로 가져오시면 될 것 같은데요.

어느정도 아시는 걸 보니,
어드민 회원관리 필드에 추가하셨는지, 일반 회원가입 필드에 추가하셨는지는 모르지만, _update.php에도 삽입하는 것은 물론 하셨을 것 같네요. ^^
아~ 죄송합니다. 질문내용을 착각했네요.
g4_member 테이블에 컬럼을 추가하시는게 아니라 새로운 테이블과 조인하신다는 내용이었군요.

나스카님~ ^^
-. 응용코드의 위치
/common.php, head.sub.php의 get_member 함수 부분
get_member함수는 해당 테이블(g4_member)에서 모든 필드값을 일단 불러들여서,
필요한 변수의 호출에 따라서 각각의 필드값을 위주로 세부적인 처리를 수행할 수 있음.
쪽지라면 head.sub.php에서
$mb = get_member($member[mb_memo_call], "mb_nick");로 호출이 되고,
회원 아이디라면 $member[mb_id], 닉네임이라면 $member[mb_nick]등과 같이
특정상황에서 필요한 필드 값만 호출해 오면 됩니다.

-. 응용 예 : common.php 238라인 정도
    $member = get_member($_SESSION[ss_mb_id]);

즉, 회원정보를 처리하는 $member라는 변수는 get_member라는
함수로 부터 추출됩니다.


-. 함수(function)의 정의
원론적인 부분으로 되돌아가자면 get_member라는 함수는 /lib/common.lib.php의
583라인 정도에서 정의됩니다.

// 회원 정보를 얻는다.
function get_member($mb_id, $fields='*')
{
    global $g4;

    return sql_fetch(" select $fields from $g4[member_table] where mb_id = TRIM('$mb_id') ");
}


-. 결론 : 기존의 회원 테이블($g4[member_table] 는 DB에서 g4_member로 저장됨)이 아닌
새로운 테이블을 추가했다면 함수의 정의에서 볼 수 있듯이
쿼리문을 새롭게 작성하거나 확장경로에(/extend 추천) 라이브러리 형태로 추가시키는 것을
권장합니다.
형태는 '회원 정보를 얻어오는 get_member 함수(function)'과 테이블명만 다르게 정의하면 됩니다.

-. 적절히 적용하고 응용하기
또한 이것을 g4 전체에서 사용하기 위해서는,
/config.php에서 다음과 같이 설정된 부분을 참고로 만들면 됩니다.
$g4[member_table]        = $g4[table_prefix] . "member";        // 회원 테이블

(예) $g4[member_model]  = $g4[table_prefix] . "model";  // 추가 테이블(g4_model)



-. 나머지 사항은 필요에 따라 두개의 테이블을 join해서
결과값을 응용하는 부분은 충분히 의도하는 대로 구현이 가능하리라 여겨집니다.
친절하고 자세한 설명 감사드립니다. 이해하기 쉬웠어요^^
따로 쿼리문을 써도 되었는데 역시 홈페이지 전체에 쓰려면 함수를 등록해서 쓰는게 나을듯 싶더라구요
정말 잘됩니다 한참 고민했었는데.. 답변 감사드려요 ^^
별도의 테이블을 구성해야 되는 사안이라면 나스카님이 알려주신 방법으로 추가하시면 됩니다.

그렇지 않다면 기존 멤버 테이블의 여분의 필드를 사용하시거나 추가하셔서 사용하시는것이 좋습니다
© SIRSOFT
현재 페이지 제일 처음으로