최근게시물 추출 ⓒⓒⓒ//님의 것 수정 보완 *^^* > 그누3 팁자료실

그누3 팁자료실

최근게시물 추출 ⓒⓒⓒ//님의 것 수정 보완 *^^* 정보

HTML 최근게시물 추출 ⓒⓒⓒ//님의 것 수정 보완 *^^*

본문

처음에는 실수를 많이 했습니다.... 이유는 경로상의 문제이죠....저의 경우는 그누보드가 폴더 안으로 들어가지 않고 (http://www.......com/gnu_board/manage/install.php) 계정에 인스톨을 했습니다.(http://www.......com/manage/install.php) 그리고 게시판 스킨 폴더와 최근 게시물 폴더를 나눠었습니다. 최근 게시물 폴더를 skin 폴더 에 넣지 않고 list_skin이란 폴더를 별도로 만들어서 같은 라인에 위치 하였습니다...
http://www.......com/manage
                              /skin
                              /list_skin
                              /data
이러한 형태이죠.....그러기 위해서 config.inc.php파일을 좀 손 봤죠....
$cfg[dir_skin]    = "skin";
$cfg[list_skin]    = "list_skin"; <============ 요놈을 첨가 시켰습니다....


test.php스크린 샷의 최근 게시물을 뽑는 문서의 예제는 아래의 소스입니다.......##################
<?
require_once "./lib.inc.php";
require_once "./userlib.inc.php";
?>
<table width=100%><tr>
<td valign=top><? echo newlist("photo_list","album", "포토게시판", 5, 17); ?></td>
<td valign=top><? echo newlist("photo_list","album", "포토게시판", 5, 17); ?></td>
</tr>
<tr>
<td valign=top><? echo newlist("photo_list","album", "포토게시판", 5, 17); ?></td>
<td valign=top><? echo newlist("photo_list","album", "포토게시판", 5, 17); ?></td>
</tr>
<tr>
<td valign=top colspan=2><? echo newlist("photo_list","album", "포토게시판", 5, 25); ?></td>
</tr>
</table>

userlib.inc.php의 내용입니다....######################
<?

// 최신글 추출
function newlist($skins, $bo_table, $subject, $rows, $subjectlen='')
{
  global $cfg;

  $sql = " select * from $cfg[table_board] where bo_table = '$bo_table' ";
  $bd = sql_fetch_array($sql);

  if ($subjectlen == '') $subjectlen = $bd[bo_subject_len];


  $cfg[board_table_prefix] = "gb_write_"; // 게시판 테이블의 접두사

  $cfg[url]    = "http://www.ibokzi.com";    // 개인설정그누보드 경로에 맞게수정하세요

  $skindir      = "$cfg[url]/$cfg[list_skin]/$skins";
  $skinimg      = "$skindir/images";                        // 이미지파일을 images폴더에 넣는걸 기본으로했습니다.
  $filedir      = "$cfg[url]/data/file";                    //파일디렉토리

  include "./$cfg[list_skin]/$skins/newlist_head.skin.php";    // Head 출력부분입니다. 글만 출력시는 주석처리하시면됩니다.

  $table = "{$cfg[board_table_prefix]}{$bo_table}";
  $result = sql_query_error(" select * from $table where wr_comment = 0 order by wr_id desc limit {$rows} ");
  for ($i = 0; $row = mysql_fetch_array($result); $i++) {

          $wr_subject    = get_text(cut_str($row[wr_subject], $subjectlen, '…'));
          $wr_content    = get_text(cut_str($row[wr_content], 60, '…'));          // 내용 미리보기를 위해 넣었습니다. 400자까지만 짜르기했습니다.
          $wr_memo        = $row[wr_content];                                        // 내용 미리보기를 위해 넣었습니다. 400자까지만 짜르기했습니다.
          $wr_id          = $row[wr_id];                                            // 게시판번호
          $wr_name        = $row[wr_name];                                          // 게시자이름 혹 최신글에 이름출력을 위해 변수선언했습니다.
          $wr_datetime    = $row[wr_datetime];                                      // 최신글에 날짜까지 출력하고싶을때를 위해 변수선언했습니다.
          $wr_commentcnt = $row[wr_commentcnt];
          if(0<$wr_commentcnt != ""){
              $wr_commentcnt = "($wr_commentcnt)";
              }else{
              $wr_commentcnt = "";
              }
          $image = $row[wr_file1];                                                  // 이미지를 뽑을 때 사용
          if(0<$image != ""){
              $image = "<img src=$filedir/$image height=35 width=35 border=1>";
              }else{
              $image = "<img src=$filedir/noimage.gif height=35 width=35 border=1>";
              }
          $icon = $row[wr_icon];                                                    // 아이콘을 뽑을때 사용
          if(0<$icon != ""){
              $icon = "<img src=$skindir/icon/icon_$icon.gif height=35 width=35 border=1>";
              }else{
              $icon = "";
              }
          $mb_icon = $mb_id = "";                                                    // 멤버 아이콘을 뽑을 때 사용
          if ($row[mb_id]) {
          $sql2 = " select mb_icon from gb_member where mb_id = '$row[mb_id]' ";
          $row2 = sql_fetch_array($sql2);
          if ($row2[mb_icon])
          $mb_icon = "<img src='./$cfg[dir_member]/$row2[mb_icon]' align=absmiddle'>";
          }

          $ca_name = $wr_id = "";                                                    // 분류를 뽑을 때 사용
          if ($row[wr_id]) {
          $sql1 = " select ca_name from {$table}_cat where ca_id = '$row[ca_id]'";
          $row1 = sql_fetch_array($sql1);
          if ($row1[ca_name])
          $ca_name = "[$row1[ca_name]]";
          }

  $icon_file = "";
      if ($row[wr_file1] || $row[wr_file2])
          $icon_file = "<img src='$skinimg/icon_file.gif' align=absmiddle>";

      $icon_link = "";
      if ($row[wr_link1] || $row[wr_link2])
          $icon_link = "<img src='$skinimg/icon_link.gif' align=absmiddle>";

      $a_list_link = "<a href='$cfg[url]/gbview.php?bo_table=$bo_table&wr_id=$row[wr_id]' class=s_a>";

      $icon_new = "";
      if ($row[wr_datetime] >= date("Y-m-d H:i:s", time() - $bd[bo_new] * 3600))
          $icon_new = "<img src='$skinimg/icon_new.gif' align=absmiddle'>";

      $icon_hot = "";
      if ($row[wr_hit] >= $bd[bo_hot])
          $icon_hot = "<img src='$skinimg/icon_hot.gif' align=absmiddle'>";

      $icon_battle = "";
      if ($row[wr_commentcnt] >= $bd[bo_battle])
          $icon_battle = "<img src='$skinimg/icon_battle.gif' align=absmiddle'>";
      $icon_secret = "";
      if ($row[wr_secret])
          $icon_secret = "<img src='$skinimg/icon_secret.gif' align=absmiddle'>";


  include "./$cfg[list_skin]/$skins/newlist_main.skin.php";
  }
  mysql_free_result($result);

}
?>

제가 실패 했던 경우를 설명합니다....###########################
최근 게시물을 나타내는 소스의 경로 문제 처음에 아래와 같이 했습니다...
http://www.......com--[manage]
                              --[skin]
                              --[list_skin]--[photo_list]
                                              -- test.php
                              --[data]
                              -- userlib.inc.php
그런데 에러만 쥘쥘쥘 나더군요...... 그래서 아래와 같이 했습니다....
http://www.......com--[manage]
                              --[skin]
                              --[list_skin]--[photo_list]
                              --[data]
                              -- userlib.inc.php
                              -- test.php
그렇게 했더니 에러가 그치더군요.....
이젠 게시판 스킨과 최근 게시물 스킨이 독립할 때가 되었습니다... 왜냐하면 넘 복잡해졌거든요....
좋은 글들 그리고 스킨들 많이 기대하겠습니다..... 감사합니다....
모르시는 부분이 있으시면 코멘트에 글 올리세요.... 아는 부분 한도 내에서 최선을 다하겠습니다.....
추천
11

댓글 전체

박갑성님껄 적용시켰더니 최근글을 뽑아온 상태에서 글 목록이 해당 글과 연결이 안돼요.

prelist_main.skin.php파일에서 $wr_id를  $row[wr_id]로 바꾸니깐 되네요..
제가 웹프로그래머로 일하고 있는데요. 제가 제작한 게시판도 꽤 쓸만하다고 생각했는데.. 그누보드를 보고
버전업을 포기했더랬습니다. 공개게시판을 개발하는 목적이야 여러가지가 있겠지만..솔루션을 만들때 필요한 것이 게시판이기는 하지만 이정도일 필요는 없는데에도 .. 관리자님에게 감사 할따름입니다...

님은 하신지 몇달 안됬다고 하시면서 잘 하시네요.노력하였기에 그러하리라 봅니다만..^^
전체 1,026
그누3 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT