웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
안녕하세요^^
아래소스는 제가 30분동안 전전긍긍 끝에 만들었습니다.
포인트 랭킹 먹이는 부분에서 저의 정보처리능력이 약간 발휘되었을뿐--;
그리 어려운 코딩은 아니라고봅니다.
자세한 설명도 써놓았으므로 사용많이 해주세요^^
http://angelworld.dnip.net <-놀러오세요.
http://angelworld.dnip.net/point.php <-포인트랭킹 미리보기..................
<?
//인원체크
$num=0;
//DB접속
$connect=mysql_connect('localhost','root','11311');
mysql_select_db('bbs');
//테이블의 id와 포인트를 쿼리로 얻는다.
$qry=mysql_query('select user_id,point1 from zetyx_member_table');
while ($data=mysql_fetch_array($qry))
{
$num++; //인원증가
//배열에 아이디넣기
$id[$num]=$data[user_id];
//배열에 포인트점수넣기
$point[$num]=$data[point1];
}
// 여기까지 id와 point배열에 각각 사용자의 아이디와포인트를 기록하였다.
//포인트점수를 비교하여, 순서대로 배열하는 정보처리알고리즘(--;조금힘들었음)
for ($i=1;$i<$num;$i++)
{
for ($a=$i+1;$a<=$num;$a=$a+1)
{
if ($point[$i] < $point[$a])
{
//아이디순서를 재정렬
$temp=$id[$i];
$id[$i]=$id[$a];
$id[$a]=$temp;
//포인트순서를 재정렬
$temp=$point[$i];
$point[$i]=$point[$a];
$point[$a]=$temp;
}
}
}
//출력 디자인모드 디자인을 바꾸시고 싶으시면 바꿔서 하시면 멋찌겠죠?-=-;
echo "
<table border='1' width='206' cellspacing='0' bordercolordark='white' bordercolorlight='#6699FF'>
<tr>
<td width='67'> <p align='center'><b><font size='2'>Rank</font></b></p>
</td>
<td width='66'>
<p align='center'><b><font size='2'>ID</font></b></p>
</td>
<td width='51'>
<p align='center'><b><font size='2'>Point</font></b></p>
</td>
</tr>";
//출력갯수
for ($i=1;$i<5;$i++) {
echo "
<tr>
<td> <p align='center'><b><font size='2'>$i</font> </td>
<td> <p align='center'><b><font size='2'>$id[$i]</font></td>
<td> <p align='center'><b><font size='2'>$point[$i]</font></td>
</tr>";
}
echo"
</table>";
echo "<font size='2'>Made By http://angelworld.dnip.net</font>";
//DB종료
mysql_close($connect);
?>
여기까지입니다.
팁) 관리자의 랭킹을 빼고싶을때. (위에보면....)
for ($i=2;$i<$num;$i++) {
$a++; <-추가해준다.
echo "
<tr>
<td> <p align='center'><b><font size='2'>$a</font> </td> <-고친곳
<td> <p align='center'><b><font size='2'>$id[$i]</font></td> <-고친곳
<td> <p align='center'><b><font size='2'>$point[$i]</font></td> <-고친곳
</tr>";
}
위에 있는 소스부분중 위에처럼 이렇게 고치면 됩니다.
저 위에 순위는 랭킹 4위까지 되지만 랭킹 리스트 순위를 더 늘리시려면,
for ($i=2;$i<5;$i++) 이부분에서 5라는부분을 늘리시면 됩니다^^ 쉽죠?
이소스는 100% 제가 만든소스로써 다음에는 더 멋찐 소스로 여러분께 드리겠습니다^^
그럼 질문을 해주실려면 해주세요~ 그럼 이만...............
중요) $connect=mysql_connect('localhost','root','11311'); 이부분에서 아이디와 비밀번호넣어주세요.
mysql_select_db('+ 'bbs'); -> 제로보드 db이름을 넣어주세요.
★ 출력이자인모드 부분에 테이블출력 형식을 멋찌게 바꿔서 하시면 멋찌겠죠...
제로보드회원의 포인트 랭킹 체크하기
2003.11.15 13:30
안녕하세요^^
아래소스는 제가 30분동안 전전긍긍 끝에 만들었습니다.
포인트 랭킹 먹이는 부분에서 저의 정보처리능력이 약간 발휘되었을뿐--;
그리 어려운 코딩은 아니라고봅니다.
자세한 설명도 써놓았으므로 사용많이 해주세요^^
http://angelworld.dnip.net <-놀러오세요.
http://angelworld.dnip.net/point.php <-포인트랭킹 미리보기..................
<?
//인원체크
$num=0;
//DB접속
$connect=mysql_connect('localhost','root','11311');
mysql_select_db('bbs');
//테이블의 id와 포인트를 쿼리로 얻는다.
$qry=mysql_query('select user_id,point1 from zetyx_member_table');
while ($data=mysql_fetch_array($qry))
{
$num++; //인원증가
//배열에 아이디넣기
$id[$num]=$data[user_id];
//배열에 포인트점수넣기
$point[$num]=$data[point1];
}
// 여기까지 id와 point배열에 각각 사용자의 아이디와포인트를 기록하였다.
//포인트점수를 비교하여, 순서대로 배열하는 정보처리알고리즘(--;조금힘들었음)
for ($i=1;$i<$num;$i++)
{
for ($a=$i+1;$a<=$num;$a=$a+1)
{
if ($point[$i] < $point[$a])
{
//아이디순서를 재정렬
$temp=$id[$i];
$id[$i]=$id[$a];
$id[$a]=$temp;
//포인트순서를 재정렬
$temp=$point[$i];
$point[$i]=$point[$a];
$point[$a]=$temp;
}
}
}
//출력 디자인모드 디자인을 바꾸시고 싶으시면 바꿔서 하시면 멋찌겠죠?-=-;
echo "
<table border='1' width='206' cellspacing='0' bordercolordark='white' bordercolorlight='#6699FF'>
<tr>
<td width='67'> <p align='center'><b><font size='2'>Rank</font></b></p>
</td>
<td width='66'>
<p align='center'><b><font size='2'>ID</font></b></p>
</td>
<td width='51'>
<p align='center'><b><font size='2'>Point</font></b></p>
</td>
</tr>";
//출력갯수
for ($i=1;$i<5;$i++) {
echo "
<tr>
<td> <p align='center'><b><font size='2'>$i</font> </td>
<td> <p align='center'><b><font size='2'>$id[$i]</font></td>
<td> <p align='center'><b><font size='2'>$point[$i]</font></td>
</tr>";
}
echo"
</table>";
echo "<font size='2'>Made By http://angelworld.dnip.net</font>";
//DB종료
mysql_close($connect);
?>
여기까지입니다.
팁) 관리자의 랭킹을 빼고싶을때. (위에보면....)
for ($i=2;$i<$num;$i++) {
$a++; <-추가해준다.
echo "
<tr>
<td> <p align='center'><b><font size='2'>$a</font> </td> <-고친곳
<td> <p align='center'><b><font size='2'>$id[$i]</font></td> <-고친곳
<td> <p align='center'><b><font size='2'>$point[$i]</font></td> <-고친곳
</tr>";
}
위에 있는 소스부분중 위에처럼 이렇게 고치면 됩니다.
저 위에 순위는 랭킹 4위까지 되지만 랭킹 리스트 순위를 더 늘리시려면,
for ($i=2;$i<5;$i++) 이부분에서 5라는부분을 늘리시면 됩니다^^ 쉽죠?
이소스는 100% 제가 만든소스로써 다음에는 더 멋찐 소스로 여러분께 드리겠습니다^^
그럼 질문을 해주실려면 해주세요~ 그럼 이만...............
중요) $connect=mysql_connect('localhost','root','11311'); 이부분에서 아이디와 비밀번호넣어주세요.
mysql_select_db('+ 'bbs'); -> 제로보드 db이름을 넣어주세요.
★ 출력이자인모드 부분에 테이블출력 형식을 멋찌게 바꿔서 하시면 멋찌겠죠...
댓글 13
-
Willem
2003.11.15 15:36
-
Willem
2003.11.15 15:37
PS> 지금 제가 올린건 ★모든 회원을 표시★ 하게 되어있는데;;
$i=0;
while ($data=mysql_fetch_array($qry)) {
$i++;
부분을
for($i=0; $i<몇명이나보여줄까; $i++) {
로 바꿔주시면 (물론 `몇명이나보여줄까`는 5 나 100 처럼 숫자를 써줘야겠죠)
그만큼만 표시됩니다아- -
전원주
2003.11.15 17:22
--;; Willem 님... 제가 차마 mysql쿼리문에서 올림차순정렬을 생각못했네요--;
그것을 쓴다면, 따로 정렬 알고리즘을 힘들게 생각안해도 될텐데 ㅠㅠ....
으흠... 코드를 쪼금 복잡하게 만들었군요 제가..........^^~; 오호~! -
오우
2003.11.15 20:14
근데 왜 굳이 배열에 넣고 포구문으로 출력하지요?
그냥 와일로 돌리면서 출력하면 좋을 것을!? -
weky
2003.11.15 20:24
전원주 //
왜이렇게 복잡하게 하시는지 ^^;;
php 에서
//참고로. 전. 제로보드를 사용안하지만. 관리 효율을 위해..
include "lib.php";
$connect = dbconn();
$result = @mysql_query('select user_id,point1 from zetyx_member_table order by desc point1') or die(mysql_error());
while ($data = mysql_fetch_array($result)){
echo $data[point1]."<br>";
}
$connect = mysql_close();
unset($connect);
하시면 될텐데 ^^;; -
weky
2003.11.15 20:24
몇개만 뽑고 싶으시다면.
쿼리문 뒤에. limit 0, 갯수
써주시면;;; -
세죠위그이
2003.11.15 20:43
오우 // for 문으로 돌리면 원하는 값만 빼올 수 있습니다.
while문을 사용하면 조건에 만족하는 모든 값을 뽑아옵니다.
.
.
.
아닌가요? (퍼엉) -
TheMics
2003.11.15 20:48
order에 limit만 정해줘도 훨씬 간결해질; -
전원주
2003.11.16 03:12
복잡한게 있다면, 올림차순으로 포인트를 정렬해주는 알고리즘이 복잡할뿐이죠... -
Willem
2003.11.16 12:28
전원주// 그런데 그 알고리즘은 어떻게 만드셨는지 참 궁금하네요~ ㅋ;;;
어쨌든 수고하셨습니다^^ -
전원주
2003.11.16 12:49
ㅋㅋ... 힘들긴했죠--; -
TheMics
2003.11.16 14:25
오름차순 알고리즘...sort()하나면 끝날것을 이중포문까지 쓰시다니;;
http://kr.php.net/manual/kr/function.sort.php
sort 함수 사용 후 역순으로 표시해주면 되겠죠. -
오우
2003.11.22 02:27
제목 | 글쓴이 | 날짜 |
---|---|---|
회원 관리자 두기.. | DaKi | 2011.05.09 |
관리자페이지 회원목록을 일반페이지에서 사용하기(수정) [4] | 늘푸른이 | 2011.04.27 |
회원가입폼 내멋대로 내맘대로 하기. [9] | 지인짜 | 2010.08.04 |
데이터이전 회원관련해서 알아야 할 사항 [2] | 푸름빠 | 2011.04.03 |
cafeXE 회원목록 보기시 에러생기는 현상 [2] | sejin7940 | 2011.02.12 |
관리자가 회원목록에서 한번에 보이는 회원수 늘리고플때 | sejin7940 | 2011.02.10 |
탈퇴회원 아이디 재사용 막는 법 [5] | 한꼬마 | 2011.01.18 |
회원확장정보 변수 (출처:sMaker) [5] | 시니시즘 | 2010.07.19 |
회원가입할때 중복막기 [4] | 김도훈449 | 2009.01.25 |
관리자모드 - 관리자그룹만 모든 회원리스트보기 [2] | 이지혜609 | 2007.10.23 |
포인트부여시 ...회원로그인 [2] | 구본순 | 2007.08.28 |
[PHP 동영상강의] 39. 회원가입/로그인 처리 [8] | 서기 | 2006.02.06 |
[PHP 동영상강의] 25. 회원가입처리 / 로그인 구현 [6] | 서기 | 2005.12.16 |
제로보드회원의 포인트 랭킹 체크하기 sql 정리 [4] | 한꼬마 | 2003.11.26 |
회원 포인트 랭킹(중복 -_-a) [4] | weky | 2003.11.15 |
제로보드회원의 포인트 랭킹 체크하기 [13] | 전원주 | 2003.11.15 |
메일 인증시 기존 회원 전부 인증걸기;;; [4] | teslaMINT | 2003.03.04 |
제로보드로 유료 사이트 만들기 (회원 db 수정) 수정 #1 [7] | 한꼬마 | 2002.10.31 |
회원관리 프로그램을 구현하고 싶은신 분들께.. [7] | [폐]허접-_- | 2002.03.18 |
회원 가입 페이지 이젠 끝이다 [5] | 윌 | 2004.03.03 |
<?
//DB접속
$connect=mysql_connect('localhost','아이디','비밀번호');
mysql_select_db('아이디');
//테이블의 id와 포인트를 쿼리로 얻는다.
$qry=mysql_query('select * from zetyx_member_table order by point desc'); //여기가 바뀌었어요; `order by 필드이름 정렬순서` 입니다; desc: 많은게 먼저! asc: 당연히 적은게 먼저!
echo "
<table border='1' width='206' cellspacing='0' bordercolordark='white' bordercolorlight='#6699FF'>
<tr>
<td width='67'> <p align='center'+ '><b><font size='2'>Rank</font></b></p>
</td>
<td width='66'>
<p align='center'><b><font size='2'>ID</font></b></p>
</td>
<td width='51'>
<p align='center'><b><font size='2'>Point</font></b></p>
</td>
</tr>";
$i=0;
while ($data=mysql_fetch_array($qry)) {
$i++;
echo "
<tr>
<td> <p align='center'><b><font size='2'>$i</font> </td>
<td> <p align='center'><b><font size='2'>$data[user_id]</font></td>
<td> <p align='+ 'center'><b><font size='2'>".($data[point1]*10+$data[point2])."</font></td>
</tr>";
}
echo"
</table>";
echo "<font size='2'>Made By http://angelworld.dnip.net</font>";
//DB종료
mysql_close($connect);
?>