웹마스터 팁

xe_point 테이블을 이용하여 순위 뽑을 때 보통의 경우로 정렬하게 되면 포인트가 같은 경우 member_srl 등의 2차적 정렬사항으로
순위가 다르게 표시 됩니다.
본 소개는 이를 같은 순위로 표기하고 그 앞에 '공동'이란 특정 값을 표시하게 해주는 원리 입니다.

보시고 참고하실 분은 참고하시고요...

※ 이거 해서 된다는 건 아닙니다. 나중에 1.2.0 돌아가는거 보고 제가 위젯 만들려고 하는거에요. ^^

Mysql query(원리)
select a.member_srl, count(a.point) as count 
from xe_point a, xe_point b
where (
a.point < b.point
or a.member_srl = b.member_srl
)
and 세부 조건...
group by a.member_srl
order by a.point desc limit 0, 10
xe_member 정보까징...
select c.user_id, c.user_name, a.member_srl, count(a.point) as count
from xe_point a, xe_point b, xe_member c
where (
a.point < b.point
or a.member_srl = b.member_srl
)
and a.member_srl = c.member_srl
and 세부 조건...
group by c.user_id, c.user_name, a.member_srl
order by a.point desc limit 0,10

XML query
<query id="getMember" action="select">
    <tables>
        <table name="point" alias="point1" />
        <table name="point" alias="point2" />
    </tables>
    <columns>
        <column name="point1.member_srl" alias="member_srl" />
        <column name="count(point1.point)" alias="point_count" />
    </columns>
    <conditions>
        <group pipe="and">
        <condition operation="below" column="point1.point" default="point2.point" filter="number" pipe="or" />
        <condition operation="equal" column="point1.member_srl" default="point2.member_srl" notnull="notnull" pipe="and" />
        </group>
        <condition operation="equal" column="내용" default="내용" filter="number" pipe="and" />
        ...
    </conditions>
    <groups>
        <group column="point1.member_srl" />
    </groups>
    <navigation>
        <index var="sort_index" default="desc" order="point1.point" />
        <list_count var="list_count" default="20" />
        <page_count var="page_count" default="10" />
        <page var="page" default="1" />
    </navigation>
</query>


공동 순위를 표기할 값을 선언법
이거 원래는 zb4때는 가상테이블 생성 후에 DB로 짜여놓은 후 뽑게 했었는데요.
XE는 가상테이블 생성 같은게 아직 없기 때문에 무리 일 듯 하고요...
어떻게 할지 생각해보다가
1. 전체정보 1번 날려서 순위만 배열로 카운터 시키고 본 출력 시 배열 호출 식으로 할까,
2. 리스트 건당 출력 될 때마다 point 정보로 조회해서 동일한 게 존재하는지 여부로 할까,
어쩔가 고민 중 입니다.

아래 주소는 zb4 때 적용 시켜봤던 공동순위 내용입니다.

http://www.animeclub.net/old/mysql/sql.php

태그 연관 글
  1. [2014/04/09] 묻고답하기 닉네임과 이름 가입시 회원정보 변경시 질문입니다. by xe초보자 *2
  2. [2012/05/17] 묻고답하기 회원정보 팝업창이 안나타나게 하는 방법좀 알려주세요. by 펜잘 *1
  3. [2011/09/01] 묻고답하기 회원DB이전시 비밀번호를 XE로 코딩할수 있나요? by 쿠쿠리~* *2
  4. [2011/07/28] 묻고답하기 회원정보보기 관련.. by 피레느 *1
  5. [2011/03/23] 묻고답하기 회원정보 관련 (( 고수님들 도와주세요 ㅠㅠ )) by 노블진 *1
제목 글쓴이 날짜
탈퇴회원 레벨 아이콘 출력 안하기 [7] Gunmania 2013.08.17
익명게시판에서 회원 구분 가능하게 + 각 게시물에서 다른 아이디가 나타나게 하는 방법 [3] jn4kim 2013.08.06
Recruit 모듈 - 일반회원 채용글 등록할 수 있도록 수정 [10] 홍채화 2013.07.27
회원가입시 validation error 가 뜨거나 회원가입이 안될때 [2] 똑디 2013.07.27
회원가입폼에 필수항목 * 부분 처리 [3] 똑디 2013.07.18
회원가입 인증메일 제목 msg_confirm_account_title 오류 해결방법 [2] 뒤뒤 2013.06.27
스팸 회원 삭제시 동시에 관련 글 / 댓글 자동 삭제 + 스팸IP 등록기능 구현방법입니다 [20] sejin7940 2013.05.22
1.7.3 최신버전 특정사이트 iframe(아이프레임) 일반회원 html적용가능하게 하기 [2] imgXE™ 2013.05.06
회원가입 확장 모듈 1.7.X 및 모바일에서 사용가능하도록 [10] file hhgyu 2013.03.18
회원가입시 유저가 비공개 설정하기 [1] file 모앱 2013.03.03
출석부 소시랑 스킨 출석회원없을때 우측위젯이 아래로 떨어지는 현상 해결방법 [3] garnecia 2013.02.23
방명록 모듈 1.5.1.1에서 비회원이 남긴글 삭제하기 조슈아킴 2013.02.14
회원 정보에 내 포인트 현황 출력하기 [3] file 화랑529 2013.01.08
회원정보 수정 위해 비밀번호 재입력 후 튕기는 경우 [2] sejin7940 2013.01.06
1.5.4 회원정보에서 회원이 자기 이름 마음대로 수정 못하게 하는 거... [2] 샤로우 2012.12.31
XE 비회원이 귀찮게 이메일 홈페이지 입력 안하도록 하기 [7] jhrun 2012.12.16
xeshop에서 비회원 주문번호 조회 검색 가능하게 하기. [2] 리버즈 2012.12.15
회원가입 버튼을 누르면 출력되는 Can not open GeoIP.dat 에러 대처방법(임시) [2] 마음의빈자리 2012.11.30
회원설정에 레이아웃 설정이 생겼습니다. 회원정보보기페이지 레이아웃 설정 가능 [2] 똑디 2012.10.04
관리자의 회원정보 수정 페이지에 '가입일/최근접속일' 추가하기 [6] file showjean 2012.09.17