웹마스터 팁

때때로 (로그인한 회원 당사자의 정보를 불러오는 게 아니라) 특정 그룹의 회원 목록을 추출해서 보여주고 싶을 때가 있을 수 있습니다.
이를테면, 고정 필진이 있는 웹진형 게시판 상단에 글쓴이의 닉네임을 출력하고자 하는 경우가 그렇죠.
(물론 닉네임이나 이메일 주소를 출력할 수도 있겠고, 거기에 다양한 링크를 걸고자 할 수도 있구요)

이럴 때 그룹별 회원 출력 위젯을 이용하면 유용합니다.
근데 위젯의 아쉬운 점은 위젯 코드를 생성하고 해당 코드를 게시판 소스에 넣으면 앞 뒤로 xe_widget_wrapper라는 div 태그가 자동으로 붙게 돼서 웹마스터가 원하는 형태로 출력하기가 쉽지 않다는 점에 있습니다.
그래서 이런 이슈도 있었지만 코어에 반영되긴 어려웠던 모양입니다.
물론 방법이 아예 없진 않아서 코어를 건드리면 되지만, 코어 수정에 부담이 될 뿐 아니라 그렇게 하면 다른 위젯 출력 부분에 영향을 줄 수 있기 때문에 꺼림칙한 것도 사실이죠.

서론이 길었습니다.
어쨌든 일반 게시판이나 페이지에서 특정 그룹의 회원 목록을 바로 출력하기 위해서는, DB에서 회원정보를 담고 있는 xe_member라는 테이블, 그리고 group_srl 정보를 갖고 있는 xe_member_group_member라는 테이블을 join 시켜줘야 합니다.
member_srl를 기준으로 붙이면 둘이 아주 잘 붙습니다.

해당 소스는 다음과 같습니다.

<ul>
  <!--// 특정 그룹에 속한 회원들의 닉네임을 출력합니다 -->
  {@
    $oDB = &DB::getInstance();
    $query = $oDB->_query('SELECT * from xe_member INNER JOIN xe_member_group_member ON xe_member.member_srl = xe_member_group_member.member_srl');
    $result = $oDB->_fetch($query);
    $oMemberModel = &getModel('member');
  }
  <li loop="$result=>$key,$val">
    <!--@if($val->group_srl==3)--> <!-- // 여기서 숫자 3은 그룹 고유 번호를 가리킵니다 -->
      {$val->nick_name}
    <!--@end-->
  </li>
</ul>

이렇게 하면 3번을 식별 번호로 하는 그룹의 회원들 닉네임이 촤르륵 출력될 겁니다.
여기에 스타일을 지정하거나 출력 조건을 수정하거나 출력 내용을 바꾸는 것도 충분히 가능하겠죠.

사실 저도 MySQL에 대한 지식도 없이 이래저래 해보다가 얻어걸린 거여서, 이보다 더 간단한 방법이 있을지 모르겠습니다.
(검색하고 다니면서 좋아보이는 것만 따다 붙인 바람에 쓸데 없는 구문이 포함되어 있을지 모르니 주의하세요~)
그래도 혹시 필요하신 분이 있을지 몰라서 소스를 남겨봅니다.

태그 연관 글
  1. [2015/08/25] 묻고답하기 한 서버에 2개의 XE를 설치하여 회원DB 연동방법? by 방울2 *13
  2. [2015/07/20] 포럼 8월 18일 이후에 회원 일부를 강퇴 시켜야 할거에요. by misol *16
  3. [2015/01/10] 포럼 member_srl이 0인 스팸회원은 삭제가 불가능하네요;; by Pure Ani *2
  4. [2014/05/02] 묻고답하기 회원을 분류해서 가입받고 싶습니다 by 베댜코베구아겨버티 *2
  5. [2014/03/30] 묻고답하기 혹시 이문제 해결이 가능한가요?? by 난남자입니다하하 *3
제목 글쓴이 날짜
아이콘 폰트 축소 서비스 easylogic 2016.08.11
XE Core:1.7.5.3 조회수 증가, 자기 게시글 클릭시 조회수 증가 [1] file 때린데 또때려 2014.07.04
상위 셀렉트박스 값 변경시 하위셀렉트박스(다수)제어하기. [2] Xian 2005.02.19
포트포워딩없이 외부접속 허용하기(윈도우 서버) [1] file 임채원임 2014.11.17
CentOs7에서 중국 IP 차단하기 [5] file 카르마 2016.06.02
메인메뉴 빵조각메뉴 서로 다르게 하고 싶을때 file 미연조 2016.07.08
하나의 웹서버에 php5, php7 설치하기 라온넷닷컴 2016.06.10
배너 랜덤추출 스크립트 [xe적용방법] [16] 라싸 2008.02.19
비싼호스팅 쓰지말고 공유기로 돌리자(컴보다 더 쉽다니!!) [1] djdisodo 2016.06.04
CentOS 7 : Apache2.4 + PHP5.6 + MariaDB + VSFTP 설치하기 [6] 우리아기 2015.08.06
[추천 팁] 오에카키 PHP 버전으로 만들기 [19] 소프트맨 2002.08.31
사용자정의 기준으로 정렬을 했을 경우 최신글이 목록 상단으로 뜨도록 수정법 ( 현재 최신글이 하단에 뜸 ) sejin7940 2016.05.25
부운영자 [26] file 송동우 2012.02.05
정확한 계산기 소스입니다. [2] file 현탁 2014.01.15
[시니시즘] XE의 XML Query 관련 팁 시니시즘 2016.04.26
[개발팁] Console에서 디버깅 시 발생하는 x.js Deprecated 오류 제거 하기 SimpleCode 2016.04.19
IIS에서의 URL 재작성 사용하기 [5] file ehii 2014.10.30
SEO 1.8.18 에서 Analytics 와 기타 탭 작동 안 하는 버그 수정법 sejin7940 2016.04.03
그룹별 회원 목록 출력 [2] 윤삼 2015.10.25
위지윅 에디터의 관리의 활성 비활성이 안될 경우 해결책 [2] 김유중345 2009.05.01