웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
회원 순위 공동순위 표시해서 뽑기(원리만 소개)
2009.02.13 16:17
xe_point 테이블을 이용하여 순위 뽑을 때 보통의 경우로 정렬하게 되면 포인트가 같은 경우 member_srl 등의 2차적 정렬사항으로
순위가 다르게 표시 됩니다.
본 소개는 이를 같은 순위로 표기하고 그 앞에 '공동'이란 특정 값을 표시하게 해주는 원리 입니다.
보시고 참고하실 분은 참고하시고요...
※ 이거 해서 된다는 건 아닙니다. 나중에 1.2.0 돌아가는거 보고 제가 위젯 만들려고 하는거에요. ^^
Mysql query(원리)
XML query
공동 순위를 표기할 값을 선언법
이거 원래는 zb4때는 가상테이블 생성 후에 DB로 짜여놓은 후 뽑게 했었는데요.
XE는 가상테이블 생성 같은게 아직 없기 때문에 무리 일 듯 하고요...
어떻게 할지 생각해보다가
1. 전체정보 1번 날려서 순위만 배열로 카운터 시키고 본 출력 시 배열 호출 식으로 할까,
2. 리스트 건당 출력 될 때마다 point 정보로 조회해서 동일한 게 존재하는지 여부로 할까,
어쩔가 고민 중 입니다.
아래 주소는 zb4 때 적용 시켜봤던 공동순위 내용입니다.
http://www.animeclub.net/old/mysql/sql.php
순위가 다르게 표시 됩니다.
본 소개는 이를 같은 순위로 표기하고 그 앞에 '공동'이란 특정 값을 표시하게 해주는 원리 입니다.
보시고 참고하실 분은 참고하시고요...
※ 이거 해서 된다는 건 아닙니다. 나중에 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, 10xe_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
태그 연관 글
- [2014/04/09] 묻고답하기 닉네임과 이름 가입시 회원정보 변경시 질문입니다. *2
- [2012/05/17] 묻고답하기 회원정보 팝업창이 안나타나게 하는 방법좀 알려주세요. *1
- [2011/09/01] 묻고답하기 회원DB이전시 비밀번호를 XE로 코딩할수 있나요? *2
- [2011/07/28] 묻고답하기 회원정보보기 관련.. *1
- [2011/03/23] 묻고답하기 회원정보 관련 (( 고수님들 도와주세요 ㅠㅠ )) *1
댓글 0
제목 | 글쓴이 | 날짜 |
---|---|---|
[공유]로그인 하지 않아도 게시판에서 회원정보 출력 하기 (가입품 확장변수 포함)
[6]
![]() | rminkim | 2012.03.20 |
회원 순위 공동순위 표시해서 뽑기(원리만 소개) | 라르게덴 | 2009.02.13 |
여러 서버에서 하나의 회원목록 관리&사용 [24] | 화니군 | 2008.01.04 |
(회원 정보) 작성 글 수, 댓글 수를 보여주기 (#4, 2007-10-13)
[7]
![]() | Simulz | 2007.10.06 |