[G4] 인기검색어 - root님 - > 그누4 팁자료실

그누4 팁자료실

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

[G4] 인기검색어 - root님 - 정보

[G4] 인기검색어 - root님 -

첨부파일

search_.php (9.9K) 61회 다운로드 2005-06-15 14:47:24

본문

본 팁은 root님(http://www.threes.org)님의 "인기검색어 생성 및 조회기능"(http://sir.co.kr/?doc=bbs/gnuboard.php&bo_table=tiptech&wr_id=1571)을 G4용으로 수정한것 입니다.
차이점이라면 최소한으로 원본파일에 손을 댔고 테이블 이름이 바뀌었습니다.
질문은 사절합니다. 아는게 없어 답변하기가 힘듭니다.
root님께 미리 허락을 못구했습니다.
죄송합니다.


1. common.lib.php 363라인
========================================  수정전 =========================================
        $pattern .= $bar . str_replace("/", "\/", quotemeta($s[$m]));
        $bar = "|";
}
======================================================================================

=>

======================================== 수정후 ==========================================
        $pattern .= $bar . str_replace("/", "\/", quotemeta($s[$m]));
        $bar = "|";

//////////////////////////////////////////////////////////////////////////////
if(strlen($s[$i]) > 1) insert_popular($s[$i]);    // 인기 검색어 등록
////////////////////////////////////////////////////////////////////////////////

}
======================================================================================

2. search_.php 파일을 bbs 디렉토리 아래에 업로드


3. extend 디렉토리 아래에 developer.lib.php을 작성하여 업로드
===================================== developer.lib.php 내용 ====================
<?
if (defined(__FILE__)) return;
define(__FILE__, TRUE);

//인기검색어
function insert_popular($stx)
{
    $se_sql = "insert into g4_search set se_datetime = now(), se_word = '$stx'";
    sql_query($se_sql);
}

function popular($rows, $fdate)
{
    global $g4;
    $sql = "select se_word, count(se_word) as pcount
            from g4_search
            where to_days(now()) - to_days(se_datetime) <= $fdate
            group by se_word
            order by pcount desc limit 0, $rows ";

    $result = sql_query($sql);
 
    // 조회결과설정
    // 수정 srch_rows,srch_comment,srch_days,operator의 값을 gnusearch.cfg.php에서 가져와야 하는데
    //        일단 이부분을 그누보드의 초기값으로 설정합니다.
    for ($i=0; $row = sql_fetch_array($result); $i++) {
      $pword .= "<a href=$g4[path]/bbs/search_.php";
      $pword .= "?srows=10&gr_id=&sfl=wr_subject%2Bwr_content&sop=and";
      $pword .= "&srch_rows=5&srch_comment=1";
      $pword .= "&srch_days=0&stx=$row[se_word]>";
//      $pword .= "$row[se_word]($row[pcount])</a><b>]</b> "; 
      $pword .= "$row[se_word]</a> "; 
    }
    mysql_free_result($result);
 
    echo $pword;
}
?>
==============================================================================


4. g4_search 테이블 추가
===================================================================
DROP TABLE IF EXISTS g4_search;
CREATE TABLE g4_search (
  se_id int(11) NOT NULL auto_increment,
  se_datetime datetime NOT NULL default '0000-00-00 00:00:00',
  se_word varchar(50) NOT NULL default '',
  PRIMARY KEY (se_id),
  KEY index1 (se_word,se_datetime)
) TYPE=MyISAM;
==================================================================


5. 원하는 곳에 아래 소스입력
==================================================
<?=popular(5,30);?>
=====================================================


6. head.php 파일 전체검색 소스 수정
====================================================================
f.action = "<?=$g4[bbs_path]?>/search.php";
=>
f.action = "<?=$g4[bbs_path]?>/search_.php";
====================================================================
추천
0

댓글 22개

까만도둑님께서 고생하셨는데...
05.05.20 버전에서 기본기능으로 적용되었군요.
암턴 까만도둑님 수고하셨구요, 관리자님 감사합니다.
아~흑...
'까만도둑'님께서 '팁'을 이렇게나 많이...
낼롬 받아 먹기만 하다가는 배탈 날 것 같습니다^^;

고생하셨구요.
탄력 받으신 김에 더 많은 팁들도 부탁드립니다^^;

고거이 한참 들여다 보고 있으면...
3.xx 함수나 변수이던가, g4에서 사용하는 변수던가 헷갈릴 때가 너무나 많아서
이미 손을 놔 버렸는데,
정말 대단하십니다!!!
만약,
2번과 6번 과정을 생략하고자 한다면 bbs/search.php 파일과 developer.lib.php 파일을 수정하시면 됩니다.
bbs/search.php 수정내용은,
첨부의 search_.php 파일과 비교해서 search_.php 파일에서 추가된 부분만 search.php 파일에 추가하시면 됩니다.
developer.lib.php 수정내용은,
$pword .= "<a href=$g4[path]/bbs/search_.php";
=>
$pword .= "<a href=$g4[path]/bbs/search.php";
이렇게 변경하시면 됩니다.

대신 업그레이드 될때마다 수정해 주어야 하는 것도 생각하셔야 합니다.
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

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