맥노턴 - 심플서치에 대한질문입니다.
활용Q&A
심플서치에 대한질문입니다.
보노보노
2001.06.28
・
조회 수 3911
・
추천 수 0
・
댓글 0
제경우에는 카테고리기능을 사용했는데요..
만약 검색했을때 나온 내용(제목을 )클릭하면
게시판이름 ex라고 했을경우
클릭하기전의 링크는(ex&no=58{위치})로 되어있거든요
그런데 클릭후에 나오는 문서는 id=ex로 나오거든요
왜 해당내용의 위치로 안가고 게시판으로 바로가는지 궁금합니다..
가르쳐주세요...
제홈의 검색한는 경로입니다..http://ory.co.kr/zboard/search.php
serch.php소스입니다... 보시고 수정하실부분이 있으면 수정좀부탁할께요..ㅠㅠ
<?
//
// Simple Search PHP for zeroBoard - search.php
// Version 1.6.0 Final beta - Code name : READY
// Programming by M@cNorton(taejung Lee) : http://www.mcnorton.com
// 2001.04.05 - 고요함과 즐거움 속에...
//
// 제로보드용 게시판 검색기 입니다.
//
// 제 홈페이지 http://www.mcnorton.com의
// 컴퓨터 노하우노트 >> 질문과 답 게시판 에서만 질문을 받겠습니다.
// 감사합니다...
//
// 배포처 :: http://www.ggomamaul.net
//
if (!file_exists("./config.php")) {
echo "<html><body>[ ERROR ]<br> ";
echo "* FILE NOT FOUND : zeroboard Configuration File - config.php<br>
</html>";
die;
}
// 버젼 정보입니다. 수정하지 마십시오...
$title_version = "1.6.0";
$title_codename = "Final Beta";
// 여기부터 수정하시면 됩니다.
$title_image = "./search_image/title_search.gif"; //제목이미지
$icon_image = "./search_image/icon_note.gif"; //아이콘이미지
$main_bgcolor="#FFFFFF";
$main_tlt_color="7c3100";
$main_txt_color="ce8e7b";
$main_line_color="efbead";
// 심플서치를 이쁘게 꾸며줄 html 파일
// [search.php]
// | $main_head ("../../abc_head.html")
// | 심 플 서 치
// | $main_tail ("../../abc_tail.html")
// 과 같이 출력됩니다.
// 최대한 소스내의 HTML을 수정하지 마시고 head/tail HTML파일을 이용하십시오.
// 최신버젼으로 업데이트할 때 편리합니다. 사용하지 않으실땐 주석처리하십시오...
//$main_head = "../../main_head.html";
//$main_tail = "../../main_tail.html";
// $result_disp_target ::: 결과를 보낼 타겟이나 윈도우 (검색폼을 따로 사용할 때)
// $result_link_target ::: 결과를 클릭했을 때 게시물이 표시될 타겟이나 윈도우
$result_disp_target = "_self";
$result_link_target = "_self";
// $main_editor_name ::: 수정하신분의 닉네임이나 이름을 입력하십시오.
// $main_editor_url ::: 홈페이지 주소나 전자우편 주소를 입력하십시오.
$main_editor_name = "Programmer M@cNorton";
$main_editor_url = "http://www.mcnorton.com";
// 검색할 게시판의 이름과 제목을 추가하세요...
// 아래 지정한 게시판을 무시할 것인지 검색할 것인지 선택하십시오.
// "//"(주석)을 제거하거나 추가하셔서 수정하시면 됩니다.
// ##### 지정한 게시판만을 검색하고자 할 때, 아래를 수정하십시오 #####
// 지정한 게시판을 검색하려면 1 (search), 지정한 게시판을 제외하려면 0 (ignore)
// 형식 : $search_board_name[] = "{db이름}|{게시판 제목이나 설명}"
$search_board_option = "1"; // 아래 게시판만 검색
$search_board_name[] = "cca1|★ 건강.의료관련업 ★ ";
$search_board_name[] = "cca2|★ 쇼핑관련업 ★";
$search_board_name[] = "cca3|★ 오락.스포츠 ★";
$search_board_name[] = "cca4|★ 인테리어관련업 ★";
$search_board_name[] = "cca5|★ 학원.체육관 ★";
$search_board_name[] = "cca6|★ 주류판매업 ★";
$search_board_name[] = "cca7|★ 음식점 ★";
$search_board_name[] = "cca8|★ 생활.서비스관련업 ★";
// ##### 몇몇 게시판을 제외하고 모든 게시판을 검색하고 싶을 때는, 아래를 수정하십시오 #####
// 형식 : $search_board_name[] ="{db이름}" 만 입력하시면 됩니다.
//$search_board_option = "0"; //아래 게시판을 무시
//$search_board_name[] = "notice";
//$search_board_name[] = "freenotecast_request";
// --------------## end of config ##-----------------
// DB open...
$zero_db_config=file("./config.php");
// ----- zeroboard : config.php " host / user / pass / db "
$hostname=trim($zero_db_config[1]);
$username=trim($zero_db_config[2]);
$password=trim($zero_db_config[3]);
$database=trim($zero_db_config[4]);
unset($zero_db_config);
mysql_connect($hostname, $username, $password);
mysql_select_db($database);
?>
<!-- Simple Search (for zetyxboard) -->
<!-- Copyright(c) 2001 by MacNorton - taejung Lee -->
<!-- http://www.mcnorton.com -->
<!-- Version Info : <?=$title_version;?> <?=$title_codename;?> -->
<!-- :: 위 라인을 삭제하지 마십시오 :: -->
<!-- :: 제작자가 기능 동작 점검을 위해 버젼정보를 문서내에 포함한 것입니다. :: -->
<? if($main_head && $main_tail) {
include($main_head);
} else {?>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
<title>Knowhow note : Search...</title>
<style type="text/css">
a,body,p,table,li { font-family:Arial,굴림; font-size:9pt; text-decoration:none; line-height:150%; }
</style>
</head>
<body bgcolor=<?echo $main_bgcolor;?> text="black" link="black" vlink="gray" alink="red">
<? } ?>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr>
<td width="296"><p> </p>
</td>
<td width="296" align="right" valign="bottom"><p><span style="font-size:9pt;"><?echo $title_version;?> <?echo $title_codename;?> </span> </p>
</td>
</tr>
<tr>
<td bgcolor="<?echo $main_line_color;?>" colspan="2">
</td>
</tr>
<tr>
<td align="center" colspan="2">
<p> </p>
</td>
</tr>
<?
// ----------------------------------------------------------------
function display_search_form($default_value) {
global $result_disp_target, $result_link_target, $main_line_color, $PHP_SELF;
?>
<form name="searching" method="post" action=<?=$PHP_SELF;?> target="<?echo $result_disp_target;?>">
<tr>
<td align="center" colspan="2">
<p><input type="text" name="keyword" value="<?echo $default_value;?>" maxlength="80" size="15" style="font-family:Arial; font-weight:bold; font-size:9pt; color:black; text-align:left; text-decoration:none; background-color:silver; border-width:1pt; border-color:black; border-style:solid;">
<input type="submit" value=" Search " style="font-family:Arial; font-weight:bold; font-size:9pt; color:black; background-color:silver; border-width:1pt; border-color:white; border-style:solid;">
<input type="button" value="Reset" style="font-family:Arial; font-weight:bold; font-size:9pt; color:gray; background-color:#e0e0e0; border-width:1pt; border-color:white; border-style:solid;" onClick="javascript:document.searching.keyword.value=''"></p>
</td>
</tr>
</form>
<tr>
<td align="center" colspan="2">
<p> </p>
</td>
</tr>
<tr>
<td align="center" bgcolor="<?echo $main_line_color;?>" colspan="2">
</td>
</tr>
<? }
function html_help() {
global $title_version, $title_codename; ?>
<tr>
<td colspan="2">
<br><p align="center">:: 검색 방법 :: </p>
<ul>
<li>검색어 입력창에 "현대 동물병원 " 을 입력하시면,
띄어쓰기를 기준으로 "현대 &
동물병원 " 으로 찾아 줍니다. 즉, <u>제목</u>과 <u>내용</u>과
<u>작성자이름</u> 중에 현대 과 동물병원
이 모두 들어 있는 (AND연산) 결과를 표시합니다.</li>
</ul>
<p align="center"> </p>
</td>
</tr>
<? }
function html_tail_copyright() {
global $main_line_color, $main_editor_name, $main_editor_url, $main_head, $main_tail;
?>
<tr>
<td bgcolor="<?echo $main_line_color;?>" colspan="2">
</td>
</tr>
<tr>
<td align="center" colspan="2">
<p><span style="font-size:8pt;">S impleS earch (zeroboard addon). programming by M@cNorton | GGomaMaul community <br>
<? if ($main_editor_name) { echo "$main_editor_name "; } ?>
</span>
</p>
</td>
</tr>
</table>
<? if ($main_head && $main_tail) {
include("$main_tail");
} else {
echo " </html>";
} ?>
<?
}
if (!$keyword)
{ //------------------ IF CASE ------------------------
// Display FORM...
$temp = display_search_form("");
$temp .= html_help();
$temp .= html_tail_copyright();
echo $temp;
}
else
{ //---------------------ELSE CASE------------------------
echo display_search_form($keyword);
echo "<tr><td colspan=2><br>";
$keyword_array = split("[[:space:]]+", trim($keyword));
$dbname = mysql_query("SELECT name FROM zetyx_admin_table");
// @@@@@@ Search Main @@@@@@
$result_count = 0;
while($dbname_array = mysql_fetch_array($dbname)) {
$p_dbname_array[] = $dbname_array[name];
}
// OPTION = 0 then
if ($search_board_option == 0) { ;
for ($eloop=0; $eloop<count($search_board_name); $eloop++) {
for ($mloop=0; $mloop<count($p_dbname_array); $mloop++) {
$p_board_name = split("\|", $search_board_name[$eloop], 2);
if ($p_dbname_array[$mloop] == $p_board_name[0]) {
$p_dbname_array[$mloop] = "";
}
}
}
for ($oloop=0; $oloop<count($p_dbname_array); $oloop++) {
if ($p_dbname_array[$oloop] != "") {
$dbname_list[] = $p_dbname_array[$oloop];
}
}
} else { // OPTION = 1 then
for ($mloop=0; $mloop<count($search_board_name); $mloop++) {
$p_board_name = split("\|", $search_board_name[$mloop], 2);
$dbname_list[] = trim($p_board_name[0]);
$dbdscp_list[] = trim($p_board_name[1]);
}
}
for ($sloop=0; $sloop<count($dbname_list); $sloop++) {
// query generation...
$sql_query = "SELECT distinct no, subject, name, reg_date, memo ";
$sql_query .= "FROM zetyx_board_$dbname_list[$sloop] ";
$sql_query .= "WHERE ";
for ($i=0; $i<count($keyword_array); $i++) {
$sql_query .= "( subject like '%".$keyword_array[$i]."%' or ";
$sql_query .= "memo like '%".$keyword_array[$i]."%' or ";
$sql_query .= "name like '%".$keyword_array[$i]."%' ) ";
if ($keyword_array[$i+1]) { $sql_query .= "AND "; }
}
$sql_query .= "ORDER BY no DESC";
$result = mysql_query("$sql_query");
// ###### display result(s)... ######
if ($search_board_option==1 && mysql_num_rows($result)) {
echo "".$dbdscp_list[$sloop]."[".mysql_num_rows($result)."] <br>";
}
while ($sch_result = mysql_fetch_array($result)) {
$disp_result = strip_tags($sch_result[memo]); // result MEMO
for ($i=0; $i<count($keyword_array); $i++) {
$disp_memo_start = strpos(strtolower($disp_result), strtolower($keyword_array[$i])) - 100;
$disp_memo_end = 220;
if (!$disp_memo_start or $disp_memo_start < 0) {
$disp_memo_start = 1;
$disp_memo_end = 320;
} else {
break;
}
}
$disp_memo = substr("$disp_result", $disp_memo_start, $disp_memo_end);
$disp_memo = strchr("$disp_memo", " ");
$disp_memo = "......".substr("$disp_memo", 1, strrpos($disp_memo, " "));
for ($i=0; $i<count($keyword_array); $i++) {
$disp_memo = eregi_replace($keyword_array[$i], "$keyword_array[$i] ", $disp_memo);
}
if ($sch_result[subject]) {
// ----------- Search Result ------------
?>
<ul>
<li>
[
<?echo ++$result_count;?>
] >
<span style="font-size:9pt;">
<?echo strip_tags($sch_result[subject]);?>
</span> <span style="font-size:8pt;">
(
<?echo date("Y-m-d h:i",$sch_result[reg_date]);?>
)</span> .....[>바로가기 ] <span style="font-size:8pt;">
<table width='500' border='0' cellspacing='1' cellpadding='3' height="10">
<tr>
<td bgcolor='#FFFFFF'></td>
</tr>
</table>
</span>
<table width='600' border='0' cellspacing='1' cellpadding='3' bgcolor='#999999'>
<tr>
<td bgcolor='#FFFFFF'>★
<?echo $disp_memo;?>
</td>
</tr>
</table>
<br>
</li>
</ul>
<?
if (($result_count % 3) == 0) {
echo "<hr size=1 noshade color=$main_line_color>";
} ?>
<?
}
} // --- end of while
} // --- end of while
// --------- End of Search Result ----------
if ($result_count>0) {
if ($result_count>1) { $s_tail = "s"; }
$report = "Total Result".$s_tail." : ".$result_count;
} else {
$report = "검색내용이 없습니다. 다시검색해주십시오.!";
}
echo "<p>
$report </p>";
echo "</td></tr>";
$temp = html_tail_copyright();
echo $temp;
} // --- end of if main
mysql_close();
?>
* :맥노턴님에 의해서 게시물 이동되었습니다 (2002-07-28 16:58)