전체 게시판에서 링크 힛트 순위 뽑기 > 그누3 팁자료실

그누3 팁자료실

전체 게시판에서 링크 힛트 순위 뽑기 정보

그누호환 전체 게시판에서 링크 힛트 순위 뽑기

본문

* 루트님의 가장 많이본글 뽑기를 응용했읍니다.

* 참고로 전 게시판에 필드를 두개 더 추가 햇읍니다..
  오늘 눌른 수를 뽑기위하여
  필드명은 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 "&nbsp;$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
  • 복사

댓글 전체

저의 경우에는 필드를 추가하지 않고 쓰고 있습니다.

리스트상에서 해당링크로 클릭한 경우에는 힛트수가 증가하지 않고 순위도 증가하지 않더군요.
리스트상에서 클릭한 것도 해당되게 할 수는 없는가요?
© SIRSOFT
현재 페이지 제일 처음으로