지난달 게시글,코멘트,로그인 순위5위 표시 정보
지난달 게시글,코멘트,로그인 순위5위 표시관련링크
http://www.momnpapa.com/
571회 연결
본문
//Rank Top5 추출
function Rank5($skin_dir="", $rows=5, $subject_len=8, $options="")
{
global $g4;
global $g_id;
$year = date("Y");
$month = date("m");
$day = date("d");
$tmp = mktime(0, 0, 0, $month - 1 , $day, $year, 0);
$lastmonth = date("Y-m",$tmp);
if ($skin_dir)
$skin_path = "$g4[path]/skin/top10/$skin_dir";
else
$skin_path = "$g4[path]/skin/top10/rank5";
$Writelist = array();
$Commentlist = array();
$Visitlist = array();
//글쓰기 랭킹
$sql_common = " from $g4[board_new_table] a, $g4[member_table] b "; //where mb_level < 10 ";
$sql_common = $sql_common . " where a.bn_datetime like '" . $lastmonth . "%' ";
$sql_common = $sql_common . " and a.mb_id <> ''";
$sql_common = $sql_common . " and a.wr_id = a.wr_parent ";
$sql_common = $sql_common . " and a.mb_id = b.mb_id ";
$sql_common = $sql_common . " and b.mb_level < 10 ";
$sql_order = " order by cnt desc ";
$sql = " SELECT b.mb_nick,count(*) cnt
$sql_common
group by b.mb_nick
$sql_order
limit 0,$rows";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$Writelist[$i][mb_nick] = conv_subject($row[mb_nick], $subject_len, "..");
$Writelist[$i][mb_cnt] = $row[cnt];
}
//코멘트 랭킹
$sql_common = " from $g4[board_new_table] a, $g4[member_table] b "; //where mb_level < 10 ";
$sql_common = $sql_common . " where a.bn_datetime like '" . $lastmonth . "%' ";
$sql_common = $sql_common . " and a.mb_id <> ''";
$sql_common = $sql_common . " and a.wr_id <> a.wr_parent ";
$sql_common = $sql_common . " and a.mb_id = b.mb_id ";
$sql_common = $sql_common . " and b.mb_level < 10 ";
$sql_order = " order by cnt desc ";
$sql = " SELECT b.mb_nick,count(*)cnt
$sql_common
group by b.mb_nick
$sql_order
limit 0, $rows";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$Commentlist[$i][mb_nick] = conv_subject($row[mb_nick], $subject_len, "..");
$Commentlist[$i][mb_cnt] = $row[cnt];
}
//방문자 랭킹
$sql_common = " from $g4[point_table] a, $g4[member_table] b "; //where mb_level < 10 ";
$sql_common = $sql_common . " where a.po_datetime like '" . $lastmonth . "%' ";
$sql_common = $sql_common . " and a.mb_id <> ''";
$sql_common = $sql_common . " and a.mb_id = b.mb_id ";
$sql_common = $sql_common . " and po_rel_table = '@login' ";
$sql_common = $sql_common . " and b.mb_level < 10 ";
$sql_order = " order by cnt desc ";
$sql = " SELECT b.mb_nick,count(*)cnt
$sql_common
group by b.mb_nick
$sql_order
limit 0, $rows";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$Visitlist[$i][mb_nick] = conv_subject($row[mb_nick], $subject_len, "..");
$Visitlist[$i][mb_cnt] = $row[cnt];
}
ob_start();
include "$skin_path/rank.skin.php";
$content = ob_get_contents();
ob_end_clean();
return $content;
}
=======================================================================
여기까지가 함수 이구요...
=======================================================================
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<script>
function switchRank(code){
document.getElementById('wr').style.display = 'none';
document.getElementById('co').style.display = 'none';
document.getElementById('vi').style.display = 'none';
document.getElementById('btnwr').style.color = '#bbbbbb';
document.getElementById('btnco').style.color = '#bbbbbb';
document.getElementById('btnvi').style.color = '#bbbbbb';
document.getElementById(code).style.display = 'block';
code = 'btn'+code;
document.getElementById(code).style.color = '#333333';
}
</script>
<fieldset style="padding:3; border:1 solid #dddddd;">
<style type="text/css">
.Btn{
float:left;
width:32%;
text-align:center;
}
.RankContent{
clear:both;
border:.5pt solid #eeeeee;
}
.bg{
background:#eeeeee;
}
</style>
<table width="100%" cellspacing="0" cellpadding="0" style="table-layout:fixed">
<tr>
<td style="text-overflow:ellipsis;overflow:hidden;padding-left:2"><nobr>
<div class="Btn">
<b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<div class="box" style="padding:0px"><a id="btnwr" onmouseover="javascript:switchRank('wr');" style="color:#333333"> 게시글 </a></div></div>
<div class="Btn" style="margin-left:3px;">
<b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<div class="box" style="padding:0px"><a id="btnco" onmouseover="javascript:switchRank('co');" style="color:#bbbbbb"> 코멘트 </a></div></div>
<div class="Btn" style="margin-left:3px;">
<b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<div class="box" style="padding:0px"><a id="btnvi" onmouseover="javascript:switchRank('vi');" style="color:#bbbbbb"> 출석 </a></div></div>
</td>
</tr>
</table>
<table id="wr" class="RankContent" width="100%" cellspacing="0" cellpadding="0" style="table-layout:fixed">
<? for ($i=0; $i<count($Writelist); $i++) { ?>
<tr>
<td width="50%" style="text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
<div style='margin-left:10px;'> <? echo $Writelist[$i]['mb_nick']; ?> </div>
</td>
<td width="50%" style="text-align:right;text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
<div style="margin-right:10px;"> <? echo $Writelist[$i]['mb_cnt']; ?> </div>
</td>
</tr>
<? } ?>
</table>
<table id="co" class="RankContent" width="100%" cellspacing="0" cellpadding="0" style="table-layout:fixed;display:none;">
<? for ($i=0; $i<count($Commentlist); $i++) { ?>
<tr>
<td width="50%" style="text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
<div style='margin-left:10px;'> <? echo $Commentlist[$i]['mb_nick']; ?> </div>
</td>
<td width="50%" style="text-align:right;text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
<div style="margin-right:10px;"> <? echo $Commentlist[$i]['mb_cnt']; ?> </div>
</td>
</tr>
<? } ?>
</table>
<table id="vi" class="RankContent" width="100%" cellspacing="0" cellpadding="0" style="table-layout:fixed;display:none;">
<? for ($i=0; $i<count($Visitlist); $i++) { ?>
<tr>
<td width="50%" style="text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
<div style='margin-left:10px;'> <? echo $Visitlist[$i]['mb_nick']; ?> </div>
</td>
<td width="50%" style="text-align:right;text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
<div style="margin-right:10px;"> <? echo $Visitlist[$i]['mb_cnt']; ?> </div>
</td>
</tr>
<? } ?>
</table>
</fieldset>
======================================================================
요기가 rank.skin.php 입니다...
======================================================================
사용법은
<? echo Rank5("rank5", 5, 8, ""); ?>
입니다.
그냥 함 만들어 봤는데 맞는지 어쩌는지 모르겠네요...
http://www.momnpapa.com/
여기에 지난달 rank5 위치입니다.
활성화가 많이 안되어 있어서...ㅎㅎ
function Rank5($skin_dir="", $rows=5, $subject_len=8, $options="")
{
global $g4;
global $g_id;
$year = date("Y");
$month = date("m");
$day = date("d");
$tmp = mktime(0, 0, 0, $month - 1 , $day, $year, 0);
$lastmonth = date("Y-m",$tmp);
if ($skin_dir)
$skin_path = "$g4[path]/skin/top10/$skin_dir";
else
$skin_path = "$g4[path]/skin/top10/rank5";
$Writelist = array();
$Commentlist = array();
$Visitlist = array();
//글쓰기 랭킹
$sql_common = " from $g4[board_new_table] a, $g4[member_table] b "; //where mb_level < 10 ";
$sql_common = $sql_common . " where a.bn_datetime like '" . $lastmonth . "%' ";
$sql_common = $sql_common . " and a.mb_id <> ''";
$sql_common = $sql_common . " and a.wr_id = a.wr_parent ";
$sql_common = $sql_common . " and a.mb_id = b.mb_id ";
$sql_common = $sql_common . " and b.mb_level < 10 ";
$sql_order = " order by cnt desc ";
$sql = " SELECT b.mb_nick,count(*) cnt
$sql_common
group by b.mb_nick
$sql_order
limit 0,$rows";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$Writelist[$i][mb_nick] = conv_subject($row[mb_nick], $subject_len, "..");
$Writelist[$i][mb_cnt] = $row[cnt];
}
//코멘트 랭킹
$sql_common = " from $g4[board_new_table] a, $g4[member_table] b "; //where mb_level < 10 ";
$sql_common = $sql_common . " where a.bn_datetime like '" . $lastmonth . "%' ";
$sql_common = $sql_common . " and a.mb_id <> ''";
$sql_common = $sql_common . " and a.wr_id <> a.wr_parent ";
$sql_common = $sql_common . " and a.mb_id = b.mb_id ";
$sql_common = $sql_common . " and b.mb_level < 10 ";
$sql_order = " order by cnt desc ";
$sql = " SELECT b.mb_nick,count(*)cnt
$sql_common
group by b.mb_nick
$sql_order
limit 0, $rows";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$Commentlist[$i][mb_nick] = conv_subject($row[mb_nick], $subject_len, "..");
$Commentlist[$i][mb_cnt] = $row[cnt];
}
//방문자 랭킹
$sql_common = " from $g4[point_table] a, $g4[member_table] b "; //where mb_level < 10 ";
$sql_common = $sql_common . " where a.po_datetime like '" . $lastmonth . "%' ";
$sql_common = $sql_common . " and a.mb_id <> ''";
$sql_common = $sql_common . " and a.mb_id = b.mb_id ";
$sql_common = $sql_common . " and po_rel_table = '@login' ";
$sql_common = $sql_common . " and b.mb_level < 10 ";
$sql_order = " order by cnt desc ";
$sql = " SELECT b.mb_nick,count(*)cnt
$sql_common
group by b.mb_nick
$sql_order
limit 0, $rows";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$Visitlist[$i][mb_nick] = conv_subject($row[mb_nick], $subject_len, "..");
$Visitlist[$i][mb_cnt] = $row[cnt];
}
ob_start();
include "$skin_path/rank.skin.php";
$content = ob_get_contents();
ob_end_clean();
return $content;
}
=======================================================================
여기까지가 함수 이구요...
=======================================================================
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<script>
function switchRank(code){
document.getElementById('wr').style.display = 'none';
document.getElementById('co').style.display = 'none';
document.getElementById('vi').style.display = 'none';
document.getElementById('btnwr').style.color = '#bbbbbb';
document.getElementById('btnco').style.color = '#bbbbbb';
document.getElementById('btnvi').style.color = '#bbbbbb';
document.getElementById(code).style.display = 'block';
code = 'btn'+code;
document.getElementById(code).style.color = '#333333';
}
</script>
<fieldset style="padding:3; border:1 solid #dddddd;">
<style type="text/css">
.Btn{
float:left;
width:32%;
text-align:center;
}
.RankContent{
clear:both;
border:.5pt solid #eeeeee;
}
.bg{
background:#eeeeee;
}
</style>
<table width="100%" cellspacing="0" cellpadding="0" style="table-layout:fixed">
<tr>
<td style="text-overflow:ellipsis;overflow:hidden;padding-left:2"><nobr>
<div class="Btn">
<b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<div class="box" style="padding:0px"><a id="btnwr" onmouseover="javascript:switchRank('wr');" style="color:#333333"> 게시글 </a></div></div>
<div class="Btn" style="margin-left:3px;">
<b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<div class="box" style="padding:0px"><a id="btnco" onmouseover="javascript:switchRank('co');" style="color:#bbbbbb"> 코멘트 </a></div></div>
<div class="Btn" style="margin-left:3px;">
<b class="rtop"><b class="r1"></b><b class="r2"></b><b class="r3"></b><b class="r4"></b></b>
<div class="box" style="padding:0px"><a id="btnvi" onmouseover="javascript:switchRank('vi');" style="color:#bbbbbb"> 출석 </a></div></div>
</td>
</tr>
</table>
<table id="wr" class="RankContent" width="100%" cellspacing="0" cellpadding="0" style="table-layout:fixed">
<? for ($i=0; $i<count($Writelist); $i++) { ?>
<tr>
<td width="50%" style="text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
<div style='margin-left:10px;'> <? echo $Writelist[$i]['mb_nick']; ?> </div>
</td>
<td width="50%" style="text-align:right;text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
<div style="margin-right:10px;"> <? echo $Writelist[$i]['mb_cnt']; ?> </div>
</td>
</tr>
<? } ?>
</table>
<table id="co" class="RankContent" width="100%" cellspacing="0" cellpadding="0" style="table-layout:fixed;display:none;">
<? for ($i=0; $i<count($Commentlist); $i++) { ?>
<tr>
<td width="50%" style="text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
<div style='margin-left:10px;'> <? echo $Commentlist[$i]['mb_nick']; ?> </div>
</td>
<td width="50%" style="text-align:right;text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
<div style="margin-right:10px;"> <? echo $Commentlist[$i]['mb_cnt']; ?> </div>
</td>
</tr>
<? } ?>
</table>
<table id="vi" class="RankContent" width="100%" cellspacing="0" cellpadding="0" style="table-layout:fixed;display:none;">
<? for ($i=0; $i<count($Visitlist); $i++) { ?>
<tr>
<td width="50%" style="text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
<div style='margin-left:10px;'> <? echo $Visitlist[$i]['mb_nick']; ?> </div>
</td>
<td width="50%" style="text-align:right;text-overflow:ellipsis;overflow:hidden;padding-left:2;border-bottom:.5pt dashed #eeeeee;"><nobr>
<div style="margin-right:10px;"> <? echo $Visitlist[$i]['mb_cnt']; ?> </div>
</td>
</tr>
<? } ?>
</table>
</fieldset>
======================================================================
요기가 rank.skin.php 입니다...
======================================================================
사용법은
<? echo Rank5("rank5", 5, 8, ""); ?>
입니다.
그냥 함 만들어 봤는데 맞는지 어쩌는지 모르겠네요...
http://www.momnpapa.com/
여기에 지난달 rank5 위치입니다.
활성화가 많이 안되어 있어서...ㅎㅎ
추천
4
4
댓글 11개

좋은 기능이네요
홈페이지에 적용해 보고 싶은 기능이었는데 시간날때 적용해봐야겠네요
홈페이지에 적용해 보고 싶은 기능이었는데 시간날때 적용해봐야겠네요

파아란기쁨님, 좋은 소스(팁)를 공개해 주셔서 감사드립니다.
비슷한 기능이 필요해서 만들고 있는 중인데....
많은 참고가 되겠네요. ^^
감사드립니다.
비슷한 기능이 필요해서 만들고 있는 중인데....
많은 참고가 되겠네요. ^^
감사드립니다.
감사합니다. 지난달 보다는 1달전이 몇월인지 계산해서...
O월의 랭크라고 해주시는게 더 좋을거 같습니다.
O월의 랭크라고 해주시는게 더 좋을거 같습니다.

감사합니다.
흠잡을데 없는 팁 너무 감사합니다 ^^

아주 좋습니다^^

혹시 이 소스의 정확한 사용방법을 알 수 있을까요?
파아란기쁨님한테는 쪽지가 전달이 안돼서..
무척 쓰고 싶은 소스중 하나인데 사용방법을 몰라 적용을 못하고 있습니다 ㅎㅎ
함수 부분을 어떻게 처리해야 하는지 스킨을 스킨 폴더에 Rank5폴더 만들어서 올리는 건지..
모르니까 손발이 무척 답답하네요 쩝.ㅎㅎ
파아란기쁨님한테는 쪽지가 전달이 안돼서..
무척 쓰고 싶은 소스중 하나인데 사용방법을 몰라 적용을 못하고 있습니다 ㅎㅎ
함수 부분을 어떻게 처리해야 하는지 스킨을 스킨 폴더에 Rank5폴더 만들어서 올리는 건지..
모르니까 손발이 무척 답답하네요 쩝.ㅎㅎ
1. php파일 만듭니다- 함수부분("여기까지가 함수 이구요" 그 위부분 소스)을 쭉 복사해서 <? 와 ?> 사이에 붙여넣으시면 돼요.
2. 대충 이름을 붙인다음(예:rankrank.php) 그누보드 extend 폴더에 업로드 하세요.
4. skin 폴더안에 top10이라는 폴더를 만드세요.
5. top10폴더안에 rank5라는 폴더를 만드세요.
6. rank.skin.php 파일을 만들고 "여기까지가 함수 이구요" 아래부분 소스를 복사해서 저장하세요.
7. 아까 만든 rank5폴더안에 rank.skin.php 파일을 집어 넣습니다.
8. 메인에 삽입하고 싶으시면 index.php 열어 적절한 곳에 <? echo Rank5("rank5", 5, 8, ""); ?> 삽입 끝입니다~ ^^
2. 대충 이름을 붙인다음(예:rankrank.php) 그누보드 extend 폴더에 업로드 하세요.
4. skin 폴더안에 top10이라는 폴더를 만드세요.
5. top10폴더안에 rank5라는 폴더를 만드세요.
6. rank.skin.php 파일을 만들고 "여기까지가 함수 이구요" 아래부분 소스를 복사해서 저장하세요.
7. 아까 만든 rank5폴더안에 rank.skin.php 파일을 집어 넣습니다.
8. 메인에 삽입하고 싶으시면 index.php 열어 적절한 곳에 <? echo Rank5("rank5", 5, 8, ""); ?> 삽입 끝입니다~ ^^

스타두리비님 감사드립니다 ^^
상세한 설명 덕분에 조금 더 쉽게 이해하였습니다..
게다가 대소문자까지 구별을 해서 넣어야하더군요..ㅎㅎ
머리가 무식하면 손발이 고생이라고.. 그래도 이렇게 해결할 수 있어서 다행입니다..
혹시 지난 한달 부분을 지난 보름이나 지난 일주일이나..
그렇게 바꾸려면 어떤 방법이 있는지 알 수 있을까요?
$year = date("Y");
$month = date("m");
$day = date("d");
$tmp = mktime(0, 0, 0, $month - 1 , $day, $year, 0);
$lastmonth = date("Y-m",$tmp);
이 부분에서 $tmp = mktime(0, 0, 0, $month - 1 , $day, $year, 0); 대신
$tmp = mktime(0, 0, 0, $month, $day - 7 , $year, 0); 이렇게 하면 될까요?
아님 다른 함수를 정의해야 하나요?
상세한 설명 덕분에 조금 더 쉽게 이해하였습니다..
게다가 대소문자까지 구별을 해서 넣어야하더군요..ㅎㅎ
머리가 무식하면 손발이 고생이라고.. 그래도 이렇게 해결할 수 있어서 다행입니다..
혹시 지난 한달 부분을 지난 보름이나 지난 일주일이나..
그렇게 바꾸려면 어떤 방법이 있는지 알 수 있을까요?
$year = date("Y");
$month = date("m");
$day = date("d");
$tmp = mktime(0, 0, 0, $month - 1 , $day, $year, 0);
$lastmonth = date("Y-m",$tmp);
이 부분에서 $tmp = mktime(0, 0, 0, $month - 1 , $day, $year, 0); 대신
$tmp = mktime(0, 0, 0, $month, $day - 7 , $year, 0); 이렇게 하면 될까요?
아님 다른 함수를 정의해야 하나요?
지난달 게시글,코멘트,로그인 순위5위 표시

fqwwwwwwww