메뉴옆에 new 표시 뜨게 하는거 다시 질문드려요..! > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

메뉴옆에 new 표시 뜨게 하는거 다시 질문드려요..! 정보

메뉴옆에 new 표시 뜨게 하는거 다시 질문드려요..!

본문

<?php
//24시간 이내의 글 수 알아내기
function new_count($table_id){
// 오늘을 불러옵니다.
$intime = date("Y-m-d H:i:s", time() - (int)(60 * 60 * 24));

// 여기는 오늘과 글쓴 날짜를 비교합니다.
$tmp_write_table .= "g4_write_$table_id";
$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) {
$str_cnt .= " [".$total_count."]";
return $str_cnt;
}
else {
$str_cnt .= "";
return $str_cnt;
}
}
?>
----------------------------------------

이렇게 함수를 집어넣고 원하시는 장소에...

예를 들어 왼쪽에 '자유게시판'이라는 메뉴가 있고 그 옆에 글 갯수를 출력하기 위해

<?=new_count(테이블명);?>

이 소스는 새로운 글이 몇개 있는지 확인하고
그 갯수가 옆에 뜨는 팁이라고 하던데 (지금 그누보드 게시판 처럼)
새로운 글 갯수 말고 그냥 new 표시만 되게 하려면 어떻게 바꾸면 되나요?

사실 저 팁 그대로 쓰려고 했는데
Fatal error: Call to undefined function sql_query() 에러가 나서요..
($result2 = sql_query($sql2); <이줄에러..)
해결을 못봐서 어떻게 다르게라도 써보고 싶어서요.
도와주심 감사하겠습니다...

댓글 전체

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

function iconNew($bo_table)
{

    global $g4;

    // 해당 시간
    $datetime = date("Y-m-d H:i:s", $g4['server_time'] - (1 * 86400));

    // 데이터
    $menu = sql_fetch(" select wr_id from {$g4['write_prefix']}{$bo_table} where wr_is_comment = '0' and wr_datetime >= '$datetime' order by wr_num limit 0, 1 ");

    // 체크
    if ($menu['wr_id']) {

        // 아이콘 출력
        $icon = "<img src='{$g4['path']}/img/new_icon.gif' align='absmiddle'>";

    } else {

        $icon = "";

    }

    return $icon;

}
?>

위와 같은 소스로 iconNew.lib.php 파일을 생성하신 후
extend 폴더에 넣으시고..
(혹은 /lib 폴더에 넣은 후 인클루드 하세요)

원하는 곳에
<?=iconNew("freeboard")?> 처럼
<?=iconNew("테이블명")?> 을 넣어 주시면 뉴아이콘이 뜰겁니다.

<img src='{$g4['path']}/img/new_icon.gif' align='absmiddle'> 경로에 맞게 아이콘 넣으시고요.

잘 이용하시면 새글 숫자도 뽑아 올 수 있습니다.
우와, 시하님 감사드립니다. 우선 적용을 해보았는데요...
에러가 나네요 ㅠㅠ

extend에 바로 넣는 건
Fatal error: Call to undefined function iconnew() 에러가 21번째 줄에 나는데,
21번째 줄은 <?=iconNew("test")?> 이거거든요. 메뉴 옆에 넣은거요..

또 lib에 넣어 인클루드했을때
상대경로로 <?include_once("$g4[path]/lib/iconNew.lib.php");?>
이걸 넣었을땐,
Warning: include_once(/lib/iconNew.lib.php) [function.include-once]: failed to open stream: No such file or directory
Warning: include_once() [function.include]: Failed opening '/lib/iconNew.lib.php' for inclusion (include_path='.:/usr/local/lib/php')

이런 오류가 나고요.

절대경로로 <?
include_once("/home2/test/www/gnuboard4/lib/iconNew.lib.php");
?>

이런식으로 넣었을땐 아예 빈화면이 뜨는데...
제가 경로 설정을 잘 못한건지,

..첫번째 방법은 이게 말씀하신대로 extend 폴더에 넣어놨거든요.
불러오는게 안되는건지.. ㅠㅠ 왜 안되는건지 대체 모르겠습니다 ㅠㅠ
적용하려는 페이지 링크가 궁금하군요.

따로 만든 일반 페이지라면
최상단에
$g4_path = ".."; // common.php 의 상대 경로
include_once("$g4_path/common.php");

를 넣어주시고 $g4_path = ".."; 이 부분을 맞게 수정하신 후 적용해 보세요.

즉...

<?
$g4_path = ".."; // common.php 의 상대 경로
include_once("$g4_path/common.php");
include_once("$g4[path]/lib/iconNew.lib.php");
?>

처럼 되어있어야 $g4[path] 를 인식하고
그누보드의 common.php를 제대로 인클루드 할 수 있습니다.
전체 66,558 |RSS
그누4 질문답변 내용 검색

회원로그인

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