회원정보수정시 $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에도 삽입하는 것은 물론 하셨을 것 같네요. ^^
$mb[member_model] (회원리스트 row에서 각 회원의 member_model값을 가져오는 경우)
로 가져오시면 될 것 같은데요.
어느정도 아시는 걸 보니,
어드민 회원관리 필드에 추가하셨는지, 일반 회원가입 필드에 추가하셨는지는 모르지만, _update.php에도 삽입하는 것은 물론 하셨을 것 같네요. ^^
아~ 죄송합니다. 질문내용을 착각했네요.
g4_member 테이블에 컬럼을 추가하시는게 아니라 새로운 테이블과 조인하신다는 내용이었군요.
나스카님~ ^^
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해서
결과값을 응용하는 부분은 충분히 의도하는 대로 구현이 가능하리라 여겨집니다.
/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해서
결과값을 응용하는 부분은 충분히 의도하는 대로 구현이 가능하리라 여겨집니다.
친절하고 자세한 설명 감사드립니다. 이해하기 쉬웠어요^^
따로 쿼리문을 써도 되었는데 역시 홈페이지 전체에 쓰려면 함수를 등록해서 쓰는게 나을듯 싶더라구요
정말 잘됩니다 한참 고민했었는데.. 답변 감사드려요 ^^
따로 쿼리문을 써도 되었는데 역시 홈페이지 전체에 쓰려면 함수를 등록해서 쓰는게 나을듯 싶더라구요
정말 잘됩니다 한참 고민했었는데.. 답변 감사드려요 ^^
별도의 테이블을 구성해야 되는 사안이라면 나스카님이 알려주신 방법으로 추가하시면 됩니다.
그렇지 않다면 기존 멤버 테이블의 여분의 필드를 사용하시거나 추가하셔서 사용하시는것이 좋습니다
그렇지 않다면 기존 멤버 테이블의 여분의 필드를 사용하시거나 추가하셔서 사용하시는것이 좋습니다