웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
제로보드회원의 포인트 랭킹 체크하기 sql 정리
2003.11.26 02:45
<table>
<tr><td>순위</td><td>아이디</td><td>메일</td></tr>
<?
$i=0;
$result=mysql_query("select user_id,name,(point1*10)+point2 from zetyx_member_table order by (point1*10)+point2 desc limit 5");
while($data=mysql_fetch_array($result))
{
$i=$i+1;
?>
<tr><td><?=$i?></td><td><?=$data[name]?></td><td><?=$data[2]?></td></tr>
<?
}
?>
</table>
sql을 사용하는 이유는 데이터를 sql로 재가공이 가능하기때문입니다. 이러한 이유로 sql를 이용하는데 읽어서 배열에 넣는다면 sql를 이용하는 의미가 없어집니다.
select user_id,name,(point1*10)+point2 from zetyx_member_table order by (point1*10)+point2 desc limit 5
이전에 배열에서 다시 순서를 정의하여야 하였던 일들을 sql로 한꺼번에 처리하고 그냥 그 순서로 5개 보여 주기만 하면 됩니다.
가장 교과서적인 방법으로 올려 보았습니다. 혹시 공부하시는분들 도움이 되시길 바랍니다.
<tr><td>순위</td><td>아이디</td><td>메일</td></tr>
<?
$i=0;
$result=mysql_query("select user_id,name,(point1*10)+point2 from zetyx_member_table order by (point1*10)+point2 desc limit 5");
while($data=mysql_fetch_array($result))
{
$i=$i+1;
?>
<tr><td><?=$i?></td><td><?=$data[name]?></td><td><?=$data[2]?></td></tr>
<?
}
?>
</table>
sql을 사용하는 이유는 데이터를 sql로 재가공이 가능하기때문입니다. 이러한 이유로 sql를 이용하는데 읽어서 배열에 넣는다면 sql를 이용하는 의미가 없어집니다.
select user_id,name,(point1*10)+point2 from zetyx_member_table order by (point1*10)+point2 desc limit 5
이전에 배열에서 다시 순서를 정의하여야 하였던 일들을 sql로 한꺼번에 처리하고 그냥 그 순서로 5개 보여 주기만 하면 됩니다.
가장 교과서적인 방법으로 올려 보았습니다. 혹시 공부하시는분들 도움이 되시길 바랍니다.
댓글 4
-
Willem
2003.11.26 15:56
-
TheMics
2003.11.26 17:39
Willem님//속도문제를 차치하더라도 (point1*10)+point2 부분을 해결하기 어려워지죠.
*을 사용하면 point1과 point2를 따로 뽑아오므로 값 출력 와일문에서 계산을 다시 해 주어야 한다는 단점이 있습니다.
(물론 굳이 따지고들자면 fetch_array를 쓴 것 자체가 맹점이 됩니다만;;) -
한꼬마
2003.11.26 17:39
sql로 간결하게 정리되는데 굳이 더 불편하게 할 필요는 없겠지요. sql을 사용하는 이유 이런 재가공이 가능하니깐 사용하는거라 되도록 프로그램은 간결해야 되지 않을까해서 정리한겁니다. 말씀하신 *과 계산까지 해서 답을 내는건 차이가 있습니다. -
teslaMINT
2003.12.09 18:21
$result=mysql_query("select user_id,name,point as (point1*10)+point2 from zetyx_member_table order by (point1*10)+point2 desc limit 5");
while($data=mysql_fetch_array($result))
{
$i=$i+1;
?>
<tr><td><?=$i?></td><td><?=$data[name]?></td><td><?=$data[point]?></td></tr>
제목 | 글쓴이 | 날짜 |
---|---|---|
일정시간 이 지난 게시물 정리하기.. [3] | 명동욱 | 2003.12.24 |
[MySQL] Set 형 자료형.. [3] | 서영태 | 2003.12.24 |
나도 @ 도메인 서비스를 해보자 [29] | 김병철 | 2003.12.19 |
[제로카운터] 자동으로 DB를 지우자. (IP와 referer 5일 분량만 남기기) [4] | 이주경 | 2003.12.17 |
카일레라 서버 페이지 만들기. [2] | teslaMINT | 2003.12.09 |
편법을 이용한 inlive 방송여부 체크 [7] | 심심타 | 2003.12.09 |
DB에서 받은 데이터 배열로 하나씩 뿌리기 | LetMeLove | 2003.12.09 |
세션을 이용한 관리자 모드 구축하기 3강 [6] | 박정호 | 2003.12.09 |
세션을 이용한 관리자 모드 구축하기 2강 [6] | 박정호 | 2003.12.09 |
세션을 이용한 관리자 모드 구축하기 1강(중복?) | 박정호 | 2003.12.09 |
쉘 명령어 사용하기 [11] | 9000㎒ | 2003.12.02 |
랜덤 배경음악 만들기. [6] | 폭주나루 | 2003.12.01 |
throttle-me를 이용한 계정 트래픽 나타내기 [39] | 旻天 | 2003.11.27 |
제로보드회원의 포인트 랭킹 체크하기 sql 정리 [4] | 한꼬마 | 2003.11.26 |
한꼬마의 제로보드 이용법 (sql로 테이블 호출) [2] | 한꼬마 | 2003.11.26 |
[Lotto 6/45] 로또 추첨 구현하기~ [5] | 전원주 | 2003.11.21 |
한꼬마의 제로보드 활용방법 (로그인 값 알아 보기) [3] | 한꼬마 | 2003.11.20 |
회원 포인트 랭킹(중복 -_-a) [4] | weky | 2003.11.15 |
제로보드회원의 포인트 랭킹 체크하기 [13] | 전원주 | 2003.11.15 |
지금은 시스템 점검중 만들기... [8] | zentoo.com | 2003.11.11 |
(냐하하; 속도는 아주 조금 느려지겠지만요-)