여분필드 검색 질문입니다.
본문
전체검색에서 여분필드 (wr_22)가 검색이 되게 할려고 질문, 답변 검색해서 수정해봤습니다.
bbs/search.php에서
--84줄 근처--
for ($k=0; $k<count($field); $k++) {
$str .= $op2;
switch ($field[$k]) {
case 'mb_id' :
case 'wr_name' :
$str .= "$field[$k] = '$s[$i]'";
break;
case 'wr_subject' :
case 'wr_content' :
case 'wr_22' :
--205번줄 근처--
$list[$idx][$i]['subject'] = $subject;
$list[$idx][$i]['content'] = $content;
$list[$idx][$i]['wr_22'] = $wr_22;
이렇게 했고요.
head.php에서
<input type="hidden" name="sfl" value="wr_subject||wr_content||wr_22">
이렇게 했습니다.
--------------------------------------------------------------------
문제는 이렇게 하고 전체 검색을 하면 wr_22가 있는 글은 검색이 되는데요. 기존 subject가 검색이 안됩니다.
그리고 search.skin.php에서 <?php echo $list[$idx][$i]['wr_22'] ?>이렇게 해도 wr_22 가 출력이 안됩니다.
며칠째 이 문제로 헤매고 있네요. 회원님들의 도움을 부탁드립니다.
꾸벅~
답변 2
다른 곳은 문제 없어 보입니다
$list[$idx][$i]['wr_22'] = $wr_22; --> $list[$idx][$i]['wr_22'] = $row['wr_22'];
혹시 게시판 관리자에서 전체 검색 허용 채크 하셔는 가 확인하세요
그리고 제생각에는 아마도
122 번줄정도에 검색을 하느데
다른 게시판에도 22 즉 wr_22 필드가 있는가를 확인하세요
$sql = " select wr_id from {$tmp_write_table} where {$sql_search} ";
echo $sql."<br>";
설명을 좀하자면
case 'wr_22' :
case 'wr_subject' :
case 'wr_content' :
추가를 하면 아래처럼 되죠?
((INSTR(wr_subject, '44') or INSTR(wr_content, '44') or INSTR(wr_22, '44')))
그런데 이걸 검색 커리 문구로 사용하느데
for ($i=0; $i<count($g5_search['tables']); $i++) {
여기서즉 모든 검색을 하용한 게시판의 정보를 가저와요
그런데
select wr_id from g510_write_bible2 where ((INSTR(wr_subject, '44') or INSTR(wr_content, '44') or INSTR(wr_22, '44')))
이런식이 되게지요
문제는 검색 허용한 게시판이 4개면 4개 다 검색되는 건데 각각 게시판에 필드에 wr_22 이 있어야
오류가안나는거죠
또
--205번줄 근처--
$list[$idx][$i]['subject'] = $subject;
$list[$idx][$i]['content'] = $content;
$list[$idx][$i]['wr_22'] = $wr_22;
이러게하셔다구하느데요
$wr_22; 이걸 정의해주는 곳이 없자나요 예를 들면
if ($read_level[$idx] <= $member['mb_level'])
{
//$content = cut_str(get_text(strip_tags($row['wr_content'])), 300, "…");
$content = strip_tags($row['wr_content']);
$content = get_text($content, 1);
$content = strip_tags($content);
$content = str_replace(' ', '', $content);
$content = cut_str($content, 300, "…");
if (strstr($sfl, 'wr_content'))
$content = search_font($stx, $content);
}
else
$content = '';
$subject = get_text($row['wr_subject']);
if (strstr($sfl, 'wr_subject'))
$subject = search_font($stx, $subject);
이런식으로 정의를 해줘야 되는거죠