HUD 보다 낫다. 그래픽 LCD 속도계  
드디어 인두기도 디지탈로 교체했어요..  
개발자용 시리통 통신 프로그램 야~그  
▶◀ Your time is Limited  
마데 인 치나.  
똥똥이네 가족  
도트 매트릭스를 이용한 후방 메시지 표시기  
똥은 그냥 똥이다.  
유료 음원 사이트에 가입했습니다.  
카테고리
전체 (528)
궁시렁 궁시렁 (386)
튜닝/자작 (44)
읽을거리(펌) (71)
갤러리 (15)
트랙백 (7)
스크랩(비공개) (0)
이런 사업은.. (4)
방문 흔적을 남기신 분들

튜닝/자작 :: 태터툴즈에 단일 검색을 복수 검색 기능으로 바꾸자..1367

태터툴즈는 검색 기능이 단일 검색입니다.
즉 "겨울,오뎅"라고 치면 "겨울,오뎅"라는 글만 검색되죠.

근데 사실 이렇게 글을 입력하는 경우에는 "겨울"과 "오뎅"이 같이 들어간 글을 찾는 경우가 대부분입니다.

그래서 이 부분을 수정해보겠습니다.

태터툴즈가 설치된 폴더의 search 라는 폴더에서 index.php 파일을 에디터로 엽니다.
참고로 저는 태터툴즈 1.06 버전입니다.

콤마로 단어를 구분해서 SQL 문장을 만들기 위해서는 아래의 문장이 필요합니다.

$separator = ',';
$temp = explode($separator, $search);
$SQL='';
foreach ($temp as $key => $search) {
$SQL=$SQL."and (comment like  '%".$temp[$key]."%') ";
}

이것을 반복적으로 사용하면 됩니다.
function getCommentList($owner,$search){ 라는 함수를 찾습니다.
if($result=mysql_query("~~~~~ 를 찾아서 아래와 같이 수정을 합니다.

$separator = ',';
$temp = explode($separator, $search);
$SQL='';
foreach ($temp as $key => $search) {
$SQL=$SQL."and (comment like  '%".$temp[$key]."%') ";
}
// echo $SQL;
$SQL="select id, entry, parent, name, comment, written from {$database['prefix']}Comments where entry > 0 AND owner = $owner $authorized $SQL";
// echo $SQL;
// if($result=mysql_query("select id, entry, parent, name, comment, written from {$database['prefix']}Comments where entry > 0 AND owner = $owner $authorized and comment like '%$search%'")){
if($result=mysql_query($SQL)){

다음은 function getEntryListBySearch($owner,$search){ 를 찾습니다.
// $cond=empty($search)?'':"AND (title LIKE '%$search%' OR content LIKE '%$search%')";여기를 찾아서 아래와 같이 수정을 합니다.

$separator = ',';
$temp = explode($separator, $search);
$SQL='';
foreach ($temp as $key => $search) {
$SQL=$SQL." AND (title LIKE '%".$temp[$key]."%' OR content LIKE '%".$temp[$key]."%') ";
}// $cond=empty($search)?'':"AND (title LIKE '%$search%' OR content LIKE '%$search%')";
$cond=empty($search)?'': $SQL;

다음은 function getEntriesWithPagingBySearch($owner,$search,$page,$count){ 를 찾습니다.
$cond=empty($search)?'':"AND (e.title LIKE '%$search%' OR e.content LIKE '%$search%')"; 를 찾아서 아래와 같이 수정을 합니다.

$separator = ',';
$temp = explode($separator, $search);
$SQL='';
foreach ($temp as $key => $search) {
$SQL=$SQL." AND (e.title LIKE '%".$temp[$key]."%' OR e.content LIKE '%".$temp[$key]."%') ";
}
// $cond=empty($search)?'':"AND (e.title LIKE '%$search%' OR e.content LIKE '%$search%')";
$cond=empty($search)?'': $SQL;

이렇게 3군데 정도 수정을 하면 되는걸로 기억이 되네요,.. ^^?
이렇게 하신 후에 검색에서 콤마로 구분된 복수 검색어를 입력해보세요.
"슬픈,사랑,이야기" "겨울,오뎅,떡뽁이," "아빠,엄마"등요.
잘 나오면 성공.. 안되면.. 어디가 문제인지는 저도 몰라용...

반드시 원본 index.php 는 백업을 해둔 상태에서 하세요.
2006/11/27 20:58 2006/11/27 20:58
태그 ::
[태터,]와 관련된 글
트랙백 0, 댓글 0개가 달렸습니다.


받은 트랙백 트랙백 주소 :: http://www.dudals.net/trackback/2860 - 주소를 클릭하시면 자동으로 복사가 됩니다.
트랙백 RSS :: http://www.dudals.net/rss/trackback/2860
트랙백 ATOM :: http://www.dudals.net/atom/trackback/2860
달린 댓글
[로그인][오픈아이디란?]








최근 트랙백

최근 댓글

최근 읽힌 게시물

태그


copyright(c) 2001-2008 www.dudals.net all rights reserved.
Designed by dudals at 2008.10.17.33.106.906716    Powered by Textcube 1.7.6 :Staccato
free counters