그룹별 세로형 자동메뉴에서 오늘 새글표시 중 카데고리까지 포함하기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

그룹별 세로형 자동메뉴에서 오늘 새글표시 중 카데고리까지 포함하기 정보

그룹별 세로형 자동메뉴에서 오늘 새글표시 중 카데고리까지 포함하기

본문

그룹별 세로형 자동메뉴에서 오늘등록한 새글표시 중 카데고리까지 포함하기 입니다.

안녕하세요.^^
회원분중 질문게시판에 올라온 내용중 그룹별 세로형 자동메뉴의 새글표시하기 에서
카데고리에서도 오늘올라온 새글의 갯수와 new 아이콘출력을 질문을 하시는분이 계시길래
허접하나마 급조해 봤습니다. 사실은 제가 필요한 것이더군요^^

아직 그누보드의 흐름이나 php 는 초보이므로 소스가 지저분할 겁니다. 고수분들의 정리를
부탁드리며 소스나갑니다.



<? //  메뉴 자동생성
  $intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * 24));
// 오늘을 불러옵니다.
//아래는 community 부분이 그룹명입니다.
$sql = " select bo_table, bo_subject from $g4[board_table] where gr_id = 'community' ";
  $result = sql_query($sql);
  for ($i=0; $row=sql_fetch_array($result); $i++) {

//여기까지는 g4에서 그룹별로 게시판 제목을 불러오는 것입니다.
         
  $tmp_write_table = $g4[write_prefix] . $row[bo_table];
// 여기는 새글표시를 위해 해당 게시판의 테이블명을 불러옵니다.

  $sql2 = " select wr_datetime from $tmp_write_table where wr_datetime >= '$intime'";
// 여기는 오늘과 글쓴 날짜를 비교합니다.

  $result2 = sql_query($sql2);
  $total_count = mysql_num_rows($result2);
// 새로운 글이 몇개 있는지 확인합니다.
       
  if ($total_count > 0) { echo "<IMG SRC='$g4[path]/img/bullet.gif' WIDTH=18 HEIGHT=18 align=absmiddle border=0><a href='$g4[bbs_path]/board.php?bo_table=$row[bo_table]'><b>$row[bo_subject]</b> </a>(<font color=#f923e>$total_count</font>) <img src='$g4[path]/skin/latest/basic/img/icon_new.gif' border='0' width='15' height='8' align=absmiddle><br>";}
//새로운 글이 있을 경우 게시판제목과 갯수, new아이콘을 붙여줍니다. 이때 <b></b>태그를 적용해도 됩니다만, 저의 홈에서는 문제가 있어서 그냥 표시합니다.
//변수지정을 해주면 if/else 문을 사용치 않아도 됩니다.

 
 else {  echo "<IMG SRC='$g4[path]/img/bullet.gif' WIDTH=18 HEIGHT=18 align=absmiddle border=0><a href='$g4[bbs_path]/board.php?bo_table=$row[bo_table]'><b>$row[bo_subject]</b></a><br>"; }
// 새글이 없을 경우 표시방법입니다.
//-- 그룹내 게시판에서 카테고리 선택
$sql2 = " select bo_category_list from $g4[board_table] where bo_table = '$row[bo_table]' order by bo_table ";

$result2 = sql_fetch($sql2);
$row3 = explode("|", $result2[bo_category_list]);
for ($j=0; $j<count($row3); $j++) {

  $sql22 = " select wr_datetime,ca_name from $tmp_write_table where wr_datetime >= '$intime' and ca_name = '$row3[$j]'";
// 현재 게시판의 카데고리별 오늘과 글쓴 날짜를 비교합니다.

  $result22 = sql_query($sql22);
  $total_count2 = mysql_num_rows($result22);
//링크에서 한글로된 카데고리이름을 urlencode시키자
$sssss_url = urlencode($row3[$j]);
if ($row3[$j]) {
//카데고리가 있을때만 출력하자
 if ($total_count2 > 0) {
//카데고리별로 오늘 올라온 새글이 몇개인지
 echo "<IMG SRC='$g4[path]/img/img_br.gif' WIDTH=20 HEIGHT=9 border=0><a href='$g4[bbs_path]/board.php?bo_table=$row[bo_table]&page=1&mode=&sca=$sssss_url'>".$row3[$j]."</a>&nbsp;(<font color=#5923e>$total_count2</font>) <img src='$g4[path]/skin/latest/basic/img/icon_new.gif' border='0' width='15' height='8' align=absmiddle><br>";
 
 }
 else {
echo "<IMG SRC='$g4[path]/img/img_br.gif' WIDTH=20 HEIGHT=9 border=0><a href='$g4[bbs_path]/board.php?bo_table=$row[bo_table]&page=1&mode=&sca=$sssss_url'>".$row3[$j]."</a>&nbsp;<br>";   
 }
 }
$i++;
  }
  }
 ?> 


미리보기는 링크1을 참고 합니다.
추천
1

댓글 11개

안녕하세요.
그누보드를 접한지 얼마되지 않아서 구조,함수 파악하는데 고생을 많이 하였어요.^^
허접하게나마 겨우 짜집기를 해놓은 상태 랍니다. 그리고
그누보드와 아바타의 연동은 완성단계 이며 현재 4가지의 게시판과 연동이 되어 있으며
차후 타게시판과도 모두 연동이 가능하며 현재 제사이트내 에서만 베타 테스트 중입니다.
아바타스쿨의 헐랭이님 이신가요? 이제라도 다른 게시판과 연동된다니 정말 반가운 소식입니다. 앞으로 자주 이릅뵙기 원합니다. ^^
감사합니다. 이미지는 홈피에서 저장해서 대충 맞추면 될듯 하군요.
잘 나옵니다.
그런데.. 그룹을 위에서 지정한상태 community 라고.. 그룹들도 함꺼번에 읽어들이는 방법을 찾아야 겠군요
그리고 나서 펼침메뉴로 계발을 하면 딱인데..
어이구 공부할게 점점 많아져서 감당이 안되는군요.

여하튼 정말 감사합니다...
아직은. 제가 뭘 모르다보니 사용은 못하지만.... 좀 더 공부하면 잘 쓸수 있겠습니다.
공개해주셔서 감사합니다.
감사합니다...아주 잘되네요.
그런데, 한 가지 데이타가 많은데에서는 속도가 많이 떨어지네요.(대략 50,000건)
페이지를 읽을 때마다 데이타들을 읽어들여 새글표시를 위해 날짜 비교등을 하기 때문인 것같습니다.

데이타는 많지만 어떤 게시판은 글이 새로 작성되지 않고 보여 주기만 하고,글이 작성되는 게시판은
일부일 경우에 새글 표시를 위해 일부의 게시판만 데이타를 읽어서 비교하는 방법이 있으면 아주 좋을 것 습니다.
전체 3,309 |RSS
그누4 팁자료실 내용 검색

회원로그인

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