조회수 많은글 뽑기에서 기간설정 문의<해결> > 그누3질답

그누3질답

조회수 많은글 뽑기에서 기간설정 문의<해결> 정보

그누보드 조회수 많은글 뽑기에서 기간설정 문의<해결>

본문

지인의 도움으로 해결해씁니다
저와 비슷한 경우가 있어 고민하시는 분들..위해..방법을 리플로 적어놓을게요
저도 그분이 알려준거 그대로 복사해 놓는 것입니다

--------------------------------------------------------------
예)자유 게시판 최근 10일간의 글중 조회수 높은거 순위 5개

<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

define("_DOCTYPE_", "NONE");

$html_title = "게시판에서 조회수 많은것 조회";

$maxrow = 5; // default 조회 값

?>
<? $aaa = date("Y-m-d H:i:s", time() - 10 * 86400); ?> //요기 숫자중 10 이 10일간의 글 입니다
 
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" BACKGROUND="a_img/com_bbs.gif">
<tr> <td width='' height="20" valign=top><?  $sql = " select bo_subject, bo_table
            from $cfg[table_board]
          where bo_table = 'com_1' ";  // 여기에 원하는 게시판이름을 설정하세요.
  $result = sql_query($sql);

while ($row = mysql_fetch_array($result)) {
  $tbl = "{$cfg[write_table_prefix]}{$row[bo_table]}";

  $sql2 = " select wr_id,
                    wr_parent_id,
                    mb_id,
                    wr_name,
                    wr_email,
                    wr_homepage,
                    wr_num,
                    wr_subject,
                    wr_comment,
                    wr_commentcnt,
                    wr_datetime,
    wr_hit
              from $tbl
   
where wr_comment = '0' and wr_datetime > '$aaa'
order by wr_hit desc

limit 0, $maxrow";


 
  $result2 = sql_query($sql2);
  for ($i = 0; $row2 = mysql_fetch_array($result2); $i++) {
      $wr_subject = get_text($row2[wr_subject]);

      $key = $row2[wr_hit] . $row2[wr_datetime];

      $list[$key]->bo_subject = $row[bo_subject];
      $list[$key]->bo_table = $row[bo_table];
      $list[$key]->mb_id = $row2[mb_id];
      $list[$key]->mb_open = $row2[mb_open];
      $list[$key]->wr_id = $row2[wr_id];
      $list[$key]->wr_parent_id = $row2[wr_parent_id];
      $list[$key]->wr_email = $row2[wr_email];
      $list[$key]->wr_homepage = $row2[wr_homepage];
      $list[$key]->wr_name = get_text(cut_str($row2[wr_name],12));
      $list[$key]->wr_subject = get_text(cut_str($wr_subject,30,'…'));
      $list[$key]->wr_comment = $row2[wr_comment];
      $list[$key]->wr_commentcnt = $row2[wr_commentcnt];
      $list[$key]->wr_datetime = $row2[wr_datetime];
      $list[$key]->wr_hit = $row2[wr_hit];
  }
  mysql_free_result($result2);
}
mysql_free_result($result);

?> <table width=100% border=0 cellspacing=0 cellpadding=0> <tr><td colspan=2 height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
<tr class='subject subjectbg ht' align="center"> <!--
  <td><?=subject_sort_link('bo_table', $qstr2)?>게시판</td>
  <td><?=subject_sort_link('bo_subject', $qstr2)?>제목</td>
  <td><?=subject_sort_link('wr_name', $qstr2)?>작성자</td>
  <td><?=subject_sort_link('wr_hit', $qstr2)?>조회수</td>
  --> </tr> <tr><td colspan=2 height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
<?
if (count($list) > 0) {
  $i=0;

  krsort($list,1);
  reset ($list);

  foreach ($list as $key=>$value) {
      if ($i >= $maxrow) break;
      $comment = "";
      $atag_comment = "";
      if ($value->wr_comment > 0) {
          $comment = "<span style='font-size:8pt;'>[c]</span> ";
          $atag_comment = "#c{$value->wr_id}";
      }

      $commentcnt = "";
      if ($value->wr_commentcnt > 0) {
          $commentcnt = "<font size=-2>({$value->wr_commentcnt})</font>";
      }

      $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, 20);

      $list = $i++%2;

            echo "<tr align=center>";
      echo "<td align=left width=330 height=20><b>ㆍ</b><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."$atag_comment'>$comment{$value->wr_subject}</a> </td>";
        echo "<td width=100>(조회수:{$value->wr_hit})</td>";
      echo "</tr>\n";
  }

} else
  echo "<td height=100 align=center colspan=4>등록된 글이 없습니다.</td>";
?> <tr><td colspan=2 height=1 background='./<?=$cfg[bbs_dir]?>/line.gif'></td></tr>
</table><p> </td></tr> </table>
-----------------------------------------------------------------------------------------

--------------------------------------------------------------
예)자유 게시판 최근 10일간의 글중 추천수 높은거 순위 5개


<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
define("_DOCTYPE_", "STYLE");
$maxrow = 5; // default 조회 값
?>
<? $aaa = date("Y-m-d H:i:s", time() - 10 * 86400); ?>

<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" BACKGROUND="a_img/com_bbs.gif">
<tr> <td width='' height="20" valign=top> <?  $sql = " select bo_subject, bo_table
            from $cfg[table_board]
          where bo_table = 'com_1' ";  // 여기에 원하는 게시판이름을 설정하세요.
  $result = sql_query($sql);


while ($row = mysql_fetch_array($result)) {
  $tbl = "{$cfg[write_table_prefix]}{$row[bo_table]}";

  $sql2 = " select wr_id,
                    wr_parent_id,
                    mb_id,
                    wr_name,
                    wr_email,
                    wr_homepage,
                    wr_num,
                    wr_subject,
                    wr_comment,
                    wr_commentcnt,
                    wr_datetime,
wr_good,
                    wr_hit
              from $tbl

where wr_comment = '0' and wr_datetime > '$aaa'
order by wr_good desc
limit 0, $maxrow";

 
  $result2 = sql_query($sql2);
  for ($i = 0; $row2 = mysql_fetch_array($result2); $i++) {
      $wr_subject = get_text($row2[wr_subject]);

      $key = $row2[wr_good] . $row2[wr_datetime];

      $list[$key]->bo_subject = $row[bo_subject];
      $list[$key]->bo_table = $row[bo_table];
      $list[$key]->mb_id = $row2[mb_id];
      $list[$key]->mb_open = $row2[mb_open];
      $list[$key]->wr_id = $row2[wr_id];
      $list[$key]->wr_parent_id = $row2[wr_parent_id];
      $list[$key]->wr_email = $row2[wr_email];
      $list[$key]->wr_homepage = $row2[wr_homepage];
      $list[$key]->wr_name = get_text(cut_str($row2[wr_name],12));
      $list[$key]->wr_subject = get_text(cut_str($wr_subject,30,'…'));
      $list[$key]->wr_comment = $row2[wr_comment];
      $list[$key]->wr_commentcnt = $row2[wr_commentcnt];
      $list[$key]->wr_datetime = $row2[wr_datetime];
      $list[$key]->wr_good = $row2[wr_good];
 
 
  }
  mysql_free_result($result2);
}
mysql_free_result($result);

?><table width=100% border=0 cellspacing=0 cellpadding=0 ><?
if (count($list) > 0) {
  $i=0;

  krsort($list,1);
  reset ($list);

  foreach ($list as $key=>$value) {
      if ($i >= $maxrow) break;
      $comment = "";
      $atag_comment = "";
      if ($value->wr_comment > 0) {
          $comment = "<span style='font-size:8pt;'>[c]</span> ";
          $atag_comment = "#c{$value->wr_id}";
      }

      $commentcnt = "";
      if ($value->wr_commentcnt > 0) {
          $commentcnt = "<font size=-2>({$value->wr_commentcnt})</font>";
      }

      $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, 50);

      $list = $i++%2;

      echo "<tr align=center>";
      echo "<td align=left width=330 height=20><b>ㆍ</b><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."$atag_comment'>$comment{$value->wr_subject}</a> </td>";
        echo "<td width=100>(추천수:{$value->wr_good})</td>";
      echo "</tr>\n";
  }

} else
  echo "<td height=100 align=center colspan=4>등록된 글이 없습니다.</td>";
?> </table></td></tr>

---------------------------------------------------------------------------------

> 안녕하세요
>
> php를 잘 모르는 상태에서 여기저기 짜집기 해서 조회수(추천순)많은 게시물 뽑기를 했습니다
>
> 근데..맨날 그 글만 베스트가 되더군요
>
> 이걸..최근 100개의 글이나..최근 15일간의 글이나..등등
>
> 조건으로 걸어서 하는 방법은 없을까요..
>
> 아래는 제가 지금 쓰는 소스 입니다
>
> 어디를 수정하면 좋은지..아시는분 꼭 좀 부탁 드립니다..ㅠㅠ
>
> ------------------------------------
> <?
> if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
> define("_DOCTYPE_", "STYLE");
> $maxrow = 5; // default 조회 값
> ?>
> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" BACKGROUND="a_img/com_bbs.gif">
> <tr> <td width='' height="20" valign=top> <?  $sql = " select bo_subject, bo_table
>            from $cfg[table_board]
>          where bo_table = 'com_6' ";  // 여기에 원하는 게시판이름을 설정하세요.
>  $result = sql_query($sql);
>
>
> while ($row = mysql_fetch_array($result)) {
>  $tbl = "{$cfg[write_table_prefix]}{$row[bo_table]}";
>
>  $sql2 = " select wr_id,
>                    wr_parent_id,
>                    mb_id,
>                    wr_name,
>                    wr_email,
>                    wr_homepage,
>                    wr_num,
>                    wr_subject,
>                    wr_comment,
>                    wr_commentcnt,
>                    wr_datetime,
> wr_good,
>                    wr_hit
>              from $tbl
> where wr_comment = '0'
> order by wr_good desc
> limit 0, $maxrow";
>

>  $result2 = sql_query($sql2);
>  for ($i = 0; $row2 = mysql_fetch_array($result2); $i++) {
>      $wr_subject = get_text($row2[wr_subject]);
>
>      $key = $row2[wr_good] . $row2[wr_datetime];
>
>      $list[$key]->bo_subject = $row[bo_subject];
>      $list[$key]->bo_table = $row[bo_table];
>      $list[$key]->mb_id = $row2[mb_id];
>      $list[$key]->mb_open = $row2[mb_open];
>      $list[$key]->wr_id = $row2[wr_id];
>      $list[$key]->wr_parent_id = $row2[wr_parent_id];
>      $list[$key]->wr_email = $row2[wr_email];
>      $list[$key]->wr_homepage = $row2[wr_homepage];
>      $list[$key]->wr_name = get_text(cut_str($row2[wr_name],12));
>      $list[$key]->wr_subject = get_text(cut_str($wr_subject,35,'…'));
>      $list[$key]->wr_comment = $row2[wr_comment];
>      $list[$key]->wr_commentcnt = $row2[wr_commentcnt];
>      $list[$key]->wr_datetime = $row2[wr_datetime];
>      $list[$key]->wr_good = $row2[wr_good];


>  }
>  mysql_free_result($result2);
> }
> mysql_free_result($result);
>
> ?><table width=100% border=0 cellspacing=0 cellpadding=0 ><?
> if (count($list) > 0) {
>  $i=0;
>
>  krsort($list,1);
>  reset ($list);
>
>  foreach ($list as $key=>$value) {
>      if ($i >= $maxrow) break;
>      $comment = "";
>      $atag_comment = "";
>      if ($value->wr_comment > 0) {
>          $comment = "<span style='font-size:8pt;'>[c]</span> ";
>          $atag_comment = "#c{$value->wr_id}";
>      }
>
>      $commentcnt = "";
>      if ($value->wr_commentcnt > 0) {
>          $commentcnt = "<font size=-2>({$value->wr_commentcnt})</font>";
>      }
>
>      $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, 50);
>
>      $list = $i++%2;
>
>      echo "<tr align=center>";
>      echo "<td align=left width=330 height=20><b>ㆍ</b><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=".$value->bo_table."&wr_id=".$value->wr_parent_id."$atag_comment'>$comment{$value->wr_subject}</a> </td>";
>        echo "<td width=100>(추천수:{$value->wr_good})</td>";
>      echo "</tr>\n";
>  }
>
> } else
>  echo "<td height=100 align=center colspan=4>등록된 글이 없습니다.</td>";
> ?> </table></td></tr>
>
  • 복사

댓글 전체

© SIRSOFT
현재 페이지 제일 처음으로