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개
그누보드 게시판 구조상 게시판에서 통합검색 하기 어렵습니다.
데이타베이스에서 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를 통해 해당 게시글로 이동시키면 됩니다.
댓글을 작성하려면 로그인이 필요합니다.
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 빼시고,
댓글을 작성하려면 로그인이 필요합니다.
엄청 복잡하네요 어디서부터 어디까지 짚어서 할수있는게 아니라 새로 만드시고 두개 디비를 조인해서 해보세요
조인해서 검색 할수있을것 같아요(?)
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인