본 팁은 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";
====================================================================
차이점이라면 최소한으로 원본파일에 손을 댔고 테이블 이름이 바뀌었습니다.
질문은 사절합니다. 아는게 없어 답변하기가 힘듭니다.
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";
====================================================================
게시글 목록
| 번호 | 제목 |
|---|---|
| 320 | |
| 319 | |
| 311 | |
| 310 | |
| 281 | |
| 271 | |
| 270 | |
| 269 | |
| 268 | |
| 279 | |
| 262 | |
| 255 | |
| 809 | |
| 254 | |
| 241 | |
| 223 | |
| 225 | |
| 212 | |
| 211 | |
| 201 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기