모든 필드를 대상으로 검색을 할려면 어떻게 하나요? 정보
그누보드 모든 필드를 대상으로 검색을 할려면 어떻게 하나요?본문
전체검색에서 제가 쓰는 방법입니다만...
추가한 필드 검색은 되더군요...
gnusearch.php에서요
$k=0;
for ($idx=$table_index; $idx<count($search_table); $idx++) {
$sql = " select bo_subject from $cfg[table_board] where bo_table = '$search_table[$idx]' ";
$row = sql_fetch($sql);
echo "<ul type=circle><li><b><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$search_table[$idx]&$search_query'><u>$row[bo_subject]</u></a>에서의 검색결과</b></ul>";
$tbl = $cfg[write_table_prefix] . $search_table[$idx];
$sql = " select * from $tbl $sql_search order by wr_id desc limit $from_record, $rows ";
$result = sql_query($sql);
for ($i=0; $row=mysql_fetch_array($result); $i++) {
echo "<ul><ul type=square><li style='line-height:130%;'>";
$link = "./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$search_table[$idx]&wr_id=$row[wr_parent_id]&$search_query";
if ($row[wr_comment]) {
$link .= "#c{$row[wr_id]}";
echo "<font color=999999>[코멘트]</font> ";
$sql2 = " select wr_subject, wr_secret from $tbl where wr_id = '$row[wr_parent_id]' ";
$row2 = sql_fetch($sql2);
$row[wr_subject] = $row2[wr_subject];
// 비밀글은 검색 불가
if ($row2[wr_secret]) {
$row[wr_content] = "********";
}
}
echo "<a href='$link'><u>";
$subject = $row[wr_subject];
$content = cut_str(get_text($row[wr_content]),300,"…");
$content2 = cut_str(get_text($row[wr_content2]),300,"…");//추가한 필드
$content3 = cut_str(get_text($row[wr_content3]),300,"…");//추가한 필드
$content4 = cut_str(get_text($row[wr_content4]),300,"…");//추가한 필드
$content5 = cut_str(get_text($row[wr_content5]),300,"…");//추가한 필드
$content6 = cut_str(get_text($row[wr_content6]),300,"…");//추가한 필드
for ($m=0; $m<count($s); $m++) {
if (preg_match("/wr_subject/", $sselect)) {
$subject = set_search_font($s[$m], $subject);
}
if (preg_match("/wr_content/", $sselect)) {
$content = set_search_font($s[$m], $content);
$content2 = set_search_font($s[$m], $content2);//추가한 필드
$content3 = set_search_font($s[$m], $content3);//추가한 필드
$content4 = set_search_font($s[$m], $content4);//추가한 필드
$content5 = set_search_font($s[$m], $content5);//추가한 필드
$content6 = set_search_font($s[$m], $content6);//추가한 필드
}
}
echo get_search_font($subject);
echo "</u></a> [<a href='$link' target=_blank>새창</a>]<br>";
echo get_search_font($content);
echo get_search_font($content6);//추가한 필드
echo get_search_font($content2);//추가한 필드
echo get_search_font($content3);//추가한 필드
echo get_search_font($content4);//추가한 필드
echo get_search_font($content5);//추가한 필드
$mb = get_member($row[mb_id]);
$tmp_name = gblayer($row[mb_id], $row[wr_name], $row[wr_email], $row[wr_homepage], $mb[mb_open]);
echo "<br><font color=#999999>$row[wr_datetime]</font> $tmp_name<br>";
echo "</ul></ul>\n";
$k++;
if ($k >= $rows) { break; }
}
mysql_free_result($result);
if ($k >= $rows) { break; }
$from_record = 0;
}
이런 식으로 해보셔요..
추가한 필드 검색은 되더군요...
gnusearch.php에서요
$k=0;
for ($idx=$table_index; $idx<count($search_table); $idx++) {
$sql = " select bo_subject from $cfg[table_board] where bo_table = '$search_table[$idx]' ";
$row = sql_fetch($sql);
echo "<ul type=circle><li><b><a href='./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$search_table[$idx]&$search_query'><u>$row[bo_subject]</u></a>에서의 검색결과</b></ul>";
$tbl = $cfg[write_table_prefix] . $search_table[$idx];
$sql = " select * from $tbl $sql_search order by wr_id desc limit $from_record, $rows ";
$result = sql_query($sql);
for ($i=0; $row=mysql_fetch_array($result); $i++) {
echo "<ul><ul type=square><li style='line-height:130%;'>";
$link = "./?doc=$cfg[bbs_dir]/gnuboard.php&bo_table=$search_table[$idx]&wr_id=$row[wr_parent_id]&$search_query";
if ($row[wr_comment]) {
$link .= "#c{$row[wr_id]}";
echo "<font color=999999>[코멘트]</font> ";
$sql2 = " select wr_subject, wr_secret from $tbl where wr_id = '$row[wr_parent_id]' ";
$row2 = sql_fetch($sql2);
$row[wr_subject] = $row2[wr_subject];
// 비밀글은 검색 불가
if ($row2[wr_secret]) {
$row[wr_content] = "********";
}
}
echo "<a href='$link'><u>";
$subject = $row[wr_subject];
$content = cut_str(get_text($row[wr_content]),300,"…");
$content2 = cut_str(get_text($row[wr_content2]),300,"…");//추가한 필드
$content3 = cut_str(get_text($row[wr_content3]),300,"…");//추가한 필드
$content4 = cut_str(get_text($row[wr_content4]),300,"…");//추가한 필드
$content5 = cut_str(get_text($row[wr_content5]),300,"…");//추가한 필드
$content6 = cut_str(get_text($row[wr_content6]),300,"…");//추가한 필드
for ($m=0; $m<count($s); $m++) {
if (preg_match("/wr_subject/", $sselect)) {
$subject = set_search_font($s[$m], $subject);
}
if (preg_match("/wr_content/", $sselect)) {
$content = set_search_font($s[$m], $content);
$content2 = set_search_font($s[$m], $content2);//추가한 필드
$content3 = set_search_font($s[$m], $content3);//추가한 필드
$content4 = set_search_font($s[$m], $content4);//추가한 필드
$content5 = set_search_font($s[$m], $content5);//추가한 필드
$content6 = set_search_font($s[$m], $content6);//추가한 필드
}
}
echo get_search_font($subject);
echo "</u></a> [<a href='$link' target=_blank>새창</a>]<br>";
echo get_search_font($content);
echo get_search_font($content6);//추가한 필드
echo get_search_font($content2);//추가한 필드
echo get_search_font($content3);//추가한 필드
echo get_search_font($content4);//추가한 필드
echo get_search_font($content5);//추가한 필드
$mb = get_member($row[mb_id]);
$tmp_name = gblayer($row[mb_id], $row[wr_name], $row[wr_email], $row[wr_homepage], $mb[mb_open]);
echo "<br><font color=#999999>$row[wr_datetime]</font> $tmp_name<br>";
echo "</ul></ul>\n";
$k++;
if ($k >= $rows) { break; }
}
mysql_free_result($result);
if ($k >= $rows) { break; }
$from_record = 0;
}
이런 식으로 해보셔요..
댓글 전체
답변감사합니다. 만도님...
제가 워낙 초보라서..^^
제가 기본필드에 10개를 더 추가를 시켰거든요......
그누검색이 아닌 게시판검색에서 전체필드를 대상으로 검색을 하고 싶거든요.
될수 있다면 상세검색을 할수 있을까요??? ^^
gblist.skin.php 에 보면은
<select name=sselect class=select>
<option value='wr_subject|wr_content'>제목+내용</option>
<option value='wr_name'>이름</option>
<option value='wr_num'>번호</option>
<option value='wr_datetime'>날짜</option>
<option value='wr_subject'>제목</option>
<option value='wr_content'>내용</option>
<option value='wr_hit'>읽음</option>
<? if ($is_good) { ?><option value='wr_good'>추천</option><? } ?>
<? if ($is_nogood) { ?><option value='wr_nogood'>비추천</option><? } ?>
</select>
이렇게 되어 있는데...
<select name=sselect class=select>
<option value='????????????'>전체검색</option>
<option value='wr_subject|wr_content'>제목+내용</option>
<option value='wr_name'>이름</option>
<option value='wr_num'>번호</option>
<option value='wr_datetime'>날짜</option>
<option value='wr_subject'>제목</option>
<option value='wr_content'>내용</option>
<option value='wr_hit'>읽음</option>
<? if ($is_good) { ?><option value='wr_good'>추천</option><? } ?>
<? if ($is_nogood) { ?><option value='wr_nogood'>비추천</option><? } ?>
</select>
이렇게 만들어 볼려구 하는데... 도저히 모르겠네요..
<option value='wr_name|wr_num'>이름+번호<option> 이렇게 바꿔서 하니까 안되던데..
이런식으로 할수 있는 방법이 있는지요?
혹시 아는부분이라면 좀 알려주세요..
제가 워낙 초보라서..^^
제가 기본필드에 10개를 더 추가를 시켰거든요......
그누검색이 아닌 게시판검색에서 전체필드를 대상으로 검색을 하고 싶거든요.
될수 있다면 상세검색을 할수 있을까요??? ^^
gblist.skin.php 에 보면은
<select name=sselect class=select>
<option value='wr_subject|wr_content'>제목+내용</option>
<option value='wr_name'>이름</option>
<option value='wr_num'>번호</option>
<option value='wr_datetime'>날짜</option>
<option value='wr_subject'>제목</option>
<option value='wr_content'>내용</option>
<option value='wr_hit'>읽음</option>
<? if ($is_good) { ?><option value='wr_good'>추천</option><? } ?>
<? if ($is_nogood) { ?><option value='wr_nogood'>비추천</option><? } ?>
</select>
이렇게 되어 있는데...
<select name=sselect class=select>
<option value='????????????'>전체검색</option>
<option value='wr_subject|wr_content'>제목+내용</option>
<option value='wr_name'>이름</option>
<option value='wr_num'>번호</option>
<option value='wr_datetime'>날짜</option>
<option value='wr_subject'>제목</option>
<option value='wr_content'>내용</option>
<option value='wr_hit'>읽음</option>
<? if ($is_good) { ?><option value='wr_good'>추천</option><? } ?>
<? if ($is_nogood) { ?><option value='wr_nogood'>비추천</option><? } ?>
</select>
이렇게 만들어 볼려구 하는데... 도저히 모르겠네요..
<option value='wr_name|wr_num'>이름+번호<option> 이렇게 바꿔서 하니까 안되던데..
이런식으로 할수 있는 방법이 있는지요?
혹시 아는부분이라면 좀 알려주세요..