전체 게시판에서 링크 힛트 순위 뽑기 정보
그누호환 전체 게시판에서 링크 힛트 순위 뽑기본문
* 루트님의 가장 많이본글 뽑기를 응용했읍니다.
* 참고로 전 게시판에 필드를 두개 더 추가 햇읍니다..
오늘 눌른 수를 뽑기위하여
필드명은 to_hit & hit_datetime 이며 링크를 눌를때마다 힛트수가 증가하며,
하루가 지나면 다시 0으로 됩니다..--이부분은 자동이 아니고 링크를 다음날 새로히 눌르면
0으로 됩니다.
필드를 추가한다면 gblink.php 에 아래의 코드를 삽입하고 쓰세요...
$wtime = date("Y-m-d H:i:s", time()-86400);
$hit_time=$write[hit_datetime];
if($hit_time > $wtime){
$sql2 = " update $write_table
set to_hit = to_hit + 1
where wr_id = '$wr_id' ";
sql_query($sql2);
}else{
$sql3 = " update $write_table
set hit_datetime = '$today'
where wr_id = '$wr_id'" ;
sql_query($sql3);
$sql4 = " update $write_table
set to_hit = to_hit - to_hit
where wr_id = '$wr_id' ";
sql_query($sql4);
$sql5 = " update $write_table
set to_hit = to_hit + 1
where wr_id = '$wr_id' ";
sql_query($sql5);
********위소스가 정확하다 안하다 태클걸지 마세요..
아래의 소스를 맘대로.php로 저장후
보여주고 싶은 곳에
<? include "./맘대로.php"; ?>
합니다.
############### 방문순위(링크힛트수) 뽑는 소스 시작 #######################
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "DESIGN");
//$html_title = "방문순위";
$maxrow =20; // 조회 값
?>
<?
/*$icon_t="";
if ($bo_table == news) {
$icon_t="<img src='./$latest_skin/newst.gif' border=0 align=absmiddle>";
}else {*/
$icon_t="<img src='./image/sale_i3.gif' border=0 align=absmiddle>";//제목(타이틀앞에 보여질 이미지
//}
?>
<table width=100% cellpadding=0 cellspacing=0 align=center valign=top>
<tr>
<td valign=top >
<table width=100% height=23 cellpadding=0 cellspacing=0 align=center style='padding-bottom:0px;' >
<tr style=''>
<td valign=top>
<table width=100% height=23 cellpadding=0 cellspacing=0 align=center >
<tr>
<td align=left valign=middle height=23 valign=top bgcolor=#f3f3f3 style='padding:5px;border-top:1px solid #c1c1c1;border-bottom:1px solid #c1c1c1'><?=$icon_t?> <a href='<?="?doc=./mhit2.php"?>'><b>방문순위</b></a></td>
<td align=right style='padding-right:15px;' height=23 valign=top bgcolor=#f3f3f3 style='padding:5px;border-top:1px solid #c1c1c1;border-bottom:1px solid #c1c1c1' ><a href='<?="?doc=./mhit2.php"?>'><img src='./<?=$cfg[bbs_dir]?>/imgs/list_l.gif' border=0 align=absmiddle></a></td>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width=100% cellpadding=0 cellspacing=0 align=center valign=top>
<tr>
<td width='' valign=top>
<?
$sql = " select bo_subject, bo_table
from $cfg[table_board]
where bo_use_search = '1'
order by bo_order_search ";
$result = sql_query($sql);
while ($row = mysql_fetch_array($result)) {
//아래는 제외할 게시판들
if($row[bo_table]==knowledge||$row[bo_table]==report||$row[bo_table]==notice||$row[bo_table]==sales||$row[bo_table]==qna||$row[bo_table]==winee_column||$row[bo_table]==ojay_column||$row[bo_table]==humor||$row[bo_table]==juan||$row[bo_table]==jack||$row[bo_table]==victor||$row[bo_table]==tiptech||$row[bo_table]==news||$row[bo_table]==free_board||$row[bo_table]==search_link||$row[bo_table]==coolsite||$row[bo_table]==knowhow||$row[bo_table]==empty_room){}
else{
$tbl = "{$cfg[write_table_prefix]}{$row[bo_table]}";
$sql2 = " select wr_id,
wr_parent_id,
wr_subject,
wr_datetime,
wr_hit,
to_hit,
wr_link1_hit
from $tbl
where wr_comment = '0'
order by wr_link1_hit desc
limit 0, $maxrow";// 링크힛트 순으로 뽑기...order by wr_hit 으로 하면 인기 게시물이 됨.
$result2 = sql_query($sql2);
for ($i = 0; $row2 = mysql_fetch_array($result2); $i++) {
$wr_subject = get_text($row2[wr_subject]);
$key = $row2[wr_link1_hit] . $row2[wr_datetime];
$list2[$key]->bo_subject = $row[bo_subject];
$list2[$key]->bo_table = $row[bo_table];
$list2[$key]->wr_id = $row2[wr_id];
$list2[$key]->wr_parent_id = $row2[wr_parent_id];
$list2[$key]->wr_subject = get_text(cut_str($wr_subject,18,'…'));
$list2[$key]->wr_datetime = $row2[wr_datetime];
$list2[$key]->wr_hit = $row2[wr_hit];
$list2[$key]->to_hit = $row2[to_hit];
$list2[$key]->wr_link1 = $row2[wr_link1];
$list2[$key]->wr_link1_hit = $row2[wr_link1_hit];
}
mysql_free_result($result2);
}//else
}
mysql_free_result($result);
?>
<table width=100% border=0 cellspacing=0 cellpadding=0 >
<tr><td colspan=2 height=3><table width=98% cellpadding=0 cellspacing=0 align=center height=3 ><tr><td></td></tr></table></td></tr>
<?
if (count($list2) > 0) {
$i=0;
krsort($list2,1);
reset ($list2);
foreach ($list2 as $key=>$value) {
if($value->bo_table==gallery){}else{
$icon_h="";
if($value->to_hit >20){
$icon_h="<img src='./image/icon_h.gif' border=0 align=absmiddle>"; //오늘 히트수가 20 이상이면 핫 아이콘이.. 필드를 생성하고 코드를 넣지 않은 분은 주석처리..
}
if ($i >= $maxrow) break;
// $name = gblayer($value->mb_id, cut_str($value->wr_name,12), $value->wr_email, $value->wr_homepage);
$value->bo_subject = cut_str($value->bo_subject, 10);
$icon_top="<img src='./image/icon_top.gif' border=0>";// 일등게시물일때 top 이미지가...
$list2 = $i++%2; //스타일을 위한
echo "<tr align=center>";
// 게시물 표시
echo "<td align=left style='padding-left:5px' height=21><img src='./image/mhit.gif' border=0 align=absmiddle> <a href='./?doc=$cfg[bbs_dir]/gblink.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."&index=1' target='_blank'>$i. {$value->wr_subject}</a>";
//echo "({$value->to_hit}/{$value->wr_link1_hit})"; // 히트수표시하기 (오늘/ 전체)
if ($i ==1){ echo "$icon_top";}
echo " $icon_h</td>";
echo "<td align=right><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."'>[".$value->bo_subject."]</a></td>";
echo "</tr>";
if ($i < $maxrow){
}
}
}
} else
echo "<td height=100 align=center colspan=4>등록된 글이 없습니다.</td>";
?>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
* 참고로 전 게시판에 필드를 두개 더 추가 햇읍니다..
오늘 눌른 수를 뽑기위하여
필드명은 to_hit & hit_datetime 이며 링크를 눌를때마다 힛트수가 증가하며,
하루가 지나면 다시 0으로 됩니다..--이부분은 자동이 아니고 링크를 다음날 새로히 눌르면
0으로 됩니다.
필드를 추가한다면 gblink.php 에 아래의 코드를 삽입하고 쓰세요...
$wtime = date("Y-m-d H:i:s", time()-86400);
$hit_time=$write[hit_datetime];
if($hit_time > $wtime){
$sql2 = " update $write_table
set to_hit = to_hit + 1
where wr_id = '$wr_id' ";
sql_query($sql2);
}else{
$sql3 = " update $write_table
set hit_datetime = '$today'
where wr_id = '$wr_id'" ;
sql_query($sql3);
$sql4 = " update $write_table
set to_hit = to_hit - to_hit
where wr_id = '$wr_id' ";
sql_query($sql4);
$sql5 = " update $write_table
set to_hit = to_hit + 1
where wr_id = '$wr_id' ";
sql_query($sql5);
********위소스가 정확하다 안하다 태클걸지 마세요..
아래의 소스를 맘대로.php로 저장후
보여주고 싶은 곳에
<? include "./맘대로.php"; ?>
합니다.
############### 방문순위(링크힛트수) 뽑는 소스 시작 #######################
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "DESIGN");
//$html_title = "방문순위";
$maxrow =20; // 조회 값
?>
<?
/*$icon_t="";
if ($bo_table == news) {
$icon_t="<img src='./$latest_skin/newst.gif' border=0 align=absmiddle>";
}else {*/
$icon_t="<img src='./image/sale_i3.gif' border=0 align=absmiddle>";//제목(타이틀앞에 보여질 이미지
//}
?>
<table width=100% cellpadding=0 cellspacing=0 align=center valign=top>
<tr>
<td valign=top >
<table width=100% height=23 cellpadding=0 cellspacing=0 align=center style='padding-bottom:0px;' >
<tr style=''>
<td valign=top>
<table width=100% height=23 cellpadding=0 cellspacing=0 align=center >
<tr>
<td align=left valign=middle height=23 valign=top bgcolor=#f3f3f3 style='padding:5px;border-top:1px solid #c1c1c1;border-bottom:1px solid #c1c1c1'><?=$icon_t?> <a href='<?="?doc=./mhit2.php"?>'><b>방문순위</b></a></td>
<td align=right style='padding-right:15px;' height=23 valign=top bgcolor=#f3f3f3 style='padding:5px;border-top:1px solid #c1c1c1;border-bottom:1px solid #c1c1c1' ><a href='<?="?doc=./mhit2.php"?>'><img src='./<?=$cfg[bbs_dir]?>/imgs/list_l.gif' border=0 align=absmiddle></a></td>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width=100% cellpadding=0 cellspacing=0 align=center valign=top>
<tr>
<td width='' valign=top>
<?
$sql = " select bo_subject, bo_table
from $cfg[table_board]
where bo_use_search = '1'
order by bo_order_search ";
$result = sql_query($sql);
while ($row = mysql_fetch_array($result)) {
//아래는 제외할 게시판들
if($row[bo_table]==knowledge||$row[bo_table]==report||$row[bo_table]==notice||$row[bo_table]==sales||$row[bo_table]==qna||$row[bo_table]==winee_column||$row[bo_table]==ojay_column||$row[bo_table]==humor||$row[bo_table]==juan||$row[bo_table]==jack||$row[bo_table]==victor||$row[bo_table]==tiptech||$row[bo_table]==news||$row[bo_table]==free_board||$row[bo_table]==search_link||$row[bo_table]==coolsite||$row[bo_table]==knowhow||$row[bo_table]==empty_room){}
else{
$tbl = "{$cfg[write_table_prefix]}{$row[bo_table]}";
$sql2 = " select wr_id,
wr_parent_id,
wr_subject,
wr_datetime,
wr_hit,
to_hit,
wr_link1_hit
from $tbl
where wr_comment = '0'
order by wr_link1_hit desc
limit 0, $maxrow";// 링크힛트 순으로 뽑기...order by wr_hit 으로 하면 인기 게시물이 됨.
$result2 = sql_query($sql2);
for ($i = 0; $row2 = mysql_fetch_array($result2); $i++) {
$wr_subject = get_text($row2[wr_subject]);
$key = $row2[wr_link1_hit] . $row2[wr_datetime];
$list2[$key]->bo_subject = $row[bo_subject];
$list2[$key]->bo_table = $row[bo_table];
$list2[$key]->wr_id = $row2[wr_id];
$list2[$key]->wr_parent_id = $row2[wr_parent_id];
$list2[$key]->wr_subject = get_text(cut_str($wr_subject,18,'…'));
$list2[$key]->wr_datetime = $row2[wr_datetime];
$list2[$key]->wr_hit = $row2[wr_hit];
$list2[$key]->to_hit = $row2[to_hit];
$list2[$key]->wr_link1 = $row2[wr_link1];
$list2[$key]->wr_link1_hit = $row2[wr_link1_hit];
}
mysql_free_result($result2);
}//else
}
mysql_free_result($result);
?>
<table width=100% border=0 cellspacing=0 cellpadding=0 >
<tr><td colspan=2 height=3><table width=98% cellpadding=0 cellspacing=0 align=center height=3 ><tr><td></td></tr></table></td></tr>
<?
if (count($list2) > 0) {
$i=0;
krsort($list2,1);
reset ($list2);
foreach ($list2 as $key=>$value) {
if($value->bo_table==gallery){}else{
$icon_h="";
if($value->to_hit >20){
$icon_h="<img src='./image/icon_h.gif' border=0 align=absmiddle>"; //오늘 히트수가 20 이상이면 핫 아이콘이.. 필드를 생성하고 코드를 넣지 않은 분은 주석처리..
}
if ($i >= $maxrow) break;
// $name = gblayer($value->mb_id, cut_str($value->wr_name,12), $value->wr_email, $value->wr_homepage);
$value->bo_subject = cut_str($value->bo_subject, 10);
$icon_top="<img src='./image/icon_top.gif' border=0>";// 일등게시물일때 top 이미지가...
$list2 = $i++%2; //스타일을 위한
echo "<tr align=center>";
// 게시물 표시
echo "<td align=left style='padding-left:5px' height=21><img src='./image/mhit.gif' border=0 align=absmiddle> <a href='./?doc=$cfg[bbs_dir]/gblink.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."&index=1' target='_blank'>$i. {$value->wr_subject}</a>";
//echo "({$value->to_hit}/{$value->wr_link1_hit})"; // 히트수표시하기 (오늘/ 전체)
if ($i ==1){ echo "$icon_top";}
echo " $icon_h</td>";
echo "<td align=right><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."'>[".$value->bo_subject."]</a></td>";
echo "</tr>";
if ($i < $maxrow){
}
}
}
} else
echo "<td height=100 align=center colspan=4>등록된 글이 없습니다.</td>";
?>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
추천
0
0
댓글 전체
저의 경우에는 필드를 추가하지 않고 쓰고 있습니다.
리스트상에서 해당링크로 클릭한 경우에는 힛트수가 증가하지 않고 순위도 증가하지 않더군요.
리스트상에서 클릭한 것도 해당되게 할 수는 없는가요?
리스트상에서 해당링크로 클릭한 경우에는 힛트수가 증가하지 않고 순위도 증가하지 않더군요.
리스트상에서 클릭한 것도 해당되게 할 수는 없는가요?
좋은 팁 입니다..^^...Gooooooooooooood..!
굿~입니다. 감사히 잘 쓰겠습니다.
출근전에 보았는데 ....
댓글을 이제서야 남깁니다.
애 쓰셨습니다. 감사합니다.
댓글을 이제서야 남깁니다.
애 쓰셨습니다. 감사합니다.