search.php 전체검색 질문드립니다.
본문
현재
A사이트,B사이트
한서버에 같이 운영중입니다
A사이트의 게시판db를 B사이트에서 사용중입니다.
B사이트에서의 설정은
/data/dbconfig.php
if($bo_table == 'a게시판')
$g5['write_prefix'] = 'A사이트db명.g5_write_';
if($bo_table == 'b게시판')
$g5['write_prefix'] = 'A사이트db명.g5_write_';
이렇게 원하는 게시판 지정해서 사용중입니다.
B사이트에서 전체 검색시 A사이트의 a,b,c 등의 게시물을 검색하고 싶은데
/bbs/search.php 파일중 어떤부분을 수정해야 될지 방법좀 알려주실분 계신가요?
답변 3
엄청 복잡하네요 어디서부터 어디까지 짚어서 할수있는게 아니라 새로 만드시고 두개 디비를 조인해서 해보세요
조인해서 검색 할수있을것 같아요(?)
for ($i=0; $row=sql_fetch_array($result); $i++)
{
if ($is_admin != 'super')
{
// 그룹접근 사용에 대한 검색 차단
...
}
$g5_search['tables'][] = $g5['write_prefix'].$row['bo_table']; 여기서 prefix 추가하고
$g5_search['read_level'][] = $row['bo_read_level'];
}
이 루프가 끝나고
$g5_search['tables'][] = 'A사이트db명.g5_write_a';
$g5_search['read_level'][] = 1;
$g5_search['tables'][] = 'A사이트db명.g5_write_b';
$g5_search['read_level'][] = 1;
이렇게 두 개 추가하면 되지 않을까요
$total_count = 0;
for ($i=0; $i<count($g5_search['tables']); $i++) {
$tmp_write_table = $g5_search['tables'][$i];
여기서 prefix 빼시고,
그누보드 게시판 구조상 게시판에서 통합검색 하기 어렵습니다.
데이타베이스에서 view 테이블 생성해서 모든 게시판에서 wr_id,wr_subject,wr_content, 부분과 g5_board 에서서 bo_table,bo_skin 등 필요한 필드를 조인해서 사용하시면 됩니다.
create VIEW `g5_search` AS
select `a`.`wr_id` AS `wr_id`,`a`.`wr_subject` AS `wr_subject`,`a`.`wr_content` AS `wr_content`,`a`.`wr_datetime` AS `wr_datetime`,`b`.`bo_table` AS `bo_table`,`b`.`bo_skin` AS `bo_skin`
from (`g5_write_airport` `a` left join `g5_board` `b` on((`b`.`bo_table` = 'airport'))) union
select `a`.`wr_id` AS `wr_id`,`a`.`wr_subject` AS `wr_subject`,`a`.`wr_content` AS `wr_content`,`a`.`wr_datetime` AS `wr_datetime`,`b`.`bo_table` AS `bo_table`,`b`.`bo_skin` AS `bo_skin` from (`g5_write_consulting` `a` left join `g5_board` `b` on((`b`.`bo_table` = 'consulting')))
이후 검색을 g5_search 테블에서 하고 링크를 bo_table 과 wr_id를 통해 해당 게시글로 이동시키면 됩니다.