(질문) 이전 질문에 이어서 부탁드립니다. bbs/search.php에서 gr_2 = '1' "; 의 조건식이 될 수 있도록 부탁드립니다 정보
(질문) 이전 질문에 이어서 부탁드립니다. bbs/search.php에서 gr_2 = '1' "; 의 조건식이 될 수 있도록 부탁드립니다본문
안녕하세요 ^^
많은 분들이 도움을 주셔서 많은 부분 해결하고 이제 하나가 남았네요.
답변 주신 모든 분들 감사합니다.
전 질문에 대한 답을 확실히 얻지 못하여 그곳에 올리려다가 질문이 뒤로 밀리어서 몇가지만 다시 문의 드리고자 합니다.
검색에서
bbs/search.php
에서 조건식에 그룹의 여유필드 gr_2의 값이 1인 그룹만 검색결과에 나타내고자 합니다.
폴록님과 rolo님 덕분에 new.php에서는 위 문제를 해결했으나 같은 방식으로는 안되는 것 같습니다
아래에서 보시면 결국 gr_2 = '1' "; 의 값을 만족 시키고자 하는데
아래 gr_2의 값을 인식 못합니다. 아마다 이 값을 쓰기 위해서는 위에
무언가를 더 해주어야 하는것 같습니다
gr_2 = '1' "; 이 조건식이 될 수 있도록 꼭 부탁 드립니다 ^^
감사합니다
if ($stx)
{
//$stx = trim($stx);
$stx = preg_replace("/\//", "\/", trim($stx));
$sop = strtolower($sop);
if (!$sop || !($sop == "and" || $sop == "or")) $sop = "and"; // 연산자 and , or
if (!$srows) $srows = 10; // 한페이지에 출력하는 검색 행수
{
//$stx = trim($stx);
$stx = preg_replace("/\//", "\/", trim($stx));
$sop = strtolower($sop);
if (!$sop || !($sop == "and" || $sop == "or")) $sop = "and"; // 연산자 and , or
if (!$srows) $srows = 10; // 한페이지에 출력하는 검색 행수
unset($g4_search[tables]);
unset($g4_search[read_level]);
$sql = " select gr_id, bo_table, bo_read_level
from $g4[board_table]
where bo_use_search = '1'
and bo_list_level <= '$member[mb_level]' ";
unset($g4_search[read_level]);
$sql = " select gr_id, bo_table, bo_read_level
from $g4[board_table]
where bo_use_search = '1'
and bo_list_level <= '$member[mb_level]' ";
if ($gr_id)
$sql .= " and gr_id = '$gr_id' ";
// if ($gr_2) //이부분이
// $sql .= " and gr_2 = '1' "; //인식을 못하고 에러가 납니다. 알수없는 필드라고 나옵니다. 그래서 일단 죽여놓았습니다
if ($onetable) $sql .= " and bo_table = '$onetable' ";
$sql .= " order by bo_order_search, gr_id, bo_table ";
$result = sql_query($sql);
댓글 전체
bbs/search.php?gr_2=1
라고 하면 아무 반응이 없는지요?
라고 하면 아무 반응이 없는지요?
and gr_2 = '1'
and bo_list_level <= '$member[mb_level]' ";
and bo_list_level <= '$member[mb_level]' ";
rolo님 그렇게 하니 아무런 검색결과도 안나옵니다 ^^
유아원님 그렇게 하면 아래 메시지가 나옵니다 ^^
select gr_id, bo_table, bo_read_level from g4_board as g4_group where bo_use_search = '1' and gr_2 = '1' and bo_list_level <= '1' order by bo_order_search, gr_id, bo_table
1054 : Unknown 칼럼 'gr_2' in 'where clause'
error file : /gu4_b02/bbs/search.php
유아원님 그렇게 하면 아래 메시지가 나옵니다 ^^
select gr_id, bo_table, bo_read_level from g4_board as g4_group where bo_use_search = '1' and gr_2 = '1' and bo_list_level <= '1' order by bo_order_search, gr_id, bo_table
1054 : Unknown 칼럼 'gr_2' in 'where clause'
error file : /gu4_b02/bbs/search.php
$sql .= " order by bo_order_search, gr_id, bo_table ";
$result = sql_query($sql);
==>
$sql .= " order by bo_order_search, gr_id, bo_table ";
echo $sql;
$result = sql_query($sql);
이렇게 해서 sql을 확인하세요. 만약 여기에 gr_2가 있다면
디비에 gr_2가 해당하는 값이 없어서 안 나올 수 있습니다.
그것도 아니면
new2.php
<?
echo $gr_2;
?>
bbs/new2.php?gr_2=1
해서 1이 찍히는지 보세요.
통과하면 new.php에서도 시도 해 보시고요.
$result = sql_query($sql);
==>
$sql .= " order by bo_order_search, gr_id, bo_table ";
echo $sql;
$result = sql_query($sql);
이렇게 해서 sql을 확인하세요. 만약 여기에 gr_2가 있다면
디비에 gr_2가 해당하는 값이 없어서 안 나올 수 있습니다.
그것도 아니면
new2.php
<?
echo $gr_2;
?>
bbs/new2.php?gr_2=1
해서 1이 찍히는지 보세요.
통과하면 new.php에서도 시도 해 보시고요.
//이 부분을
/* ************************************************************* */
for ($i=0; $i<count($g4_search[tables]); $i++)
{
$tmp_write_table = $g4[write_prefix] . $g4_search[tables][$i];
$sql = " select wr_id from $tmp_write_table where $sql_search ";
$result = sql_query($sql);
$row[cnt] = @mysql_num_rows($result);
//$sql = " select count(*) as cnt from $tmp_write_table where $sql_search ";
//$row = sql_fetch($sql);
$total_count += $row[cnt];
if ($row[cnt])
{
$board_count++;
$search_table[] = $g4_search[tables][$i];
$read_level[] = $g4_search[read_level][$i];
$search_table_count[] = $total_count;
$sql2 = " select bo_subject from $g4[board_table] where bo_table = '{$g4_search[tables][$i]}' ";
$row2 = sql_fetch($sql2);
$str_board_list .= "<li><a href='$_SERVER[PHP_SELF]?$search_query&gr_id=$gr_id&onetable={$g4_search[tables][$i]}'>$row2[bo_subject]</a> ($row[cnt])";
}
}
/* ************************************************************* */
이렇게 바꿔보세요..
정확히 이해를 하고 답변을 한건지... 모르지만...
for ($i=0; $i<count($g4_search[tables]); $i++)
{
$tmp_write_table = $g4[write_prefix] . $g4_search[tables][$i];
##################################################
# $g4[group_table] 그룹테이블의 gr_2 필드값이 1인 그룹에서만 검색..
# ㅠㅠ 징그럽네요... 2006.05.29 dalsoo
##################################################
echo"<p align='left'>";
echo"그룹아이디:<font color='red'>$gr_id</font> ";
echo"<font color='blue'>$tmp_write_table : {$g4_search[tables][$i]}<br></font>";
//gr_2 가 있냐.
$this[gr_2]="";//초기화
$rowG2=@mysql_fetch_array(@mysql_query("select gr_id,gr_1,gr_2 from $g4[group_table] "
."where (gr_id='$gr_id' and gr_2 ='1')"));
$this[gr_2]=$rowG2[gr_2];
$this[gr_2]=trim($this[gr_2]);
echo"<font color='green' size='3'>{$this[gr_2]}</font>";
echo"</p>";
if($this[gr_2] =='1'){/* +++++++++++++++++++++++++++++++++++++ */
$sql = " select wr_id from $tmp_write_table where $sql_search ";
$result = sql_query($sql);
$row[cnt] = @mysql_num_rows($result);
//$sql = " select count(*) as cnt from $tmp_write_table where $sql_search ";
//$row = sql_fetch($sql);
$total_count += $row[cnt];
if($row[cnt])
{
$board_count++;
$search_table[] = $g4_search[tables][$i];
$read_level[] = $g4_search[read_level][$i];
$search_table_count[] = $total_count;
$sql2 = " select bo_subject from $g4[board_table] where bo_table = '{$g4_search[tables][$i]}' ";
$row2 = sql_fetch($sql2);
$str_board_list .= "<img src='/img/icon_folder2.gif' border='0' align='absmiddle'> <a href='$_SERVER[PHP_SELF]?$search_query&gr_id=$gr_id&onetable={$g4_search[tables][$i]}'>$row2[bo_subject]</a> ($row[cnt])<br>";
}
} //if gr_2 ==1 /* +++++++++++++++++++++++++++++++++++++ */
}//for
##################################################
/* ************************************************************* */
for ($i=0; $i<count($g4_search[tables]); $i++)
{
$tmp_write_table = $g4[write_prefix] . $g4_search[tables][$i];
$sql = " select wr_id from $tmp_write_table where $sql_search ";
$result = sql_query($sql);
$row[cnt] = @mysql_num_rows($result);
//$sql = " select count(*) as cnt from $tmp_write_table where $sql_search ";
//$row = sql_fetch($sql);
$total_count += $row[cnt];
if ($row[cnt])
{
$board_count++;
$search_table[] = $g4_search[tables][$i];
$read_level[] = $g4_search[read_level][$i];
$search_table_count[] = $total_count;
$sql2 = " select bo_subject from $g4[board_table] where bo_table = '{$g4_search[tables][$i]}' ";
$row2 = sql_fetch($sql2);
$str_board_list .= "<li><a href='$_SERVER[PHP_SELF]?$search_query&gr_id=$gr_id&onetable={$g4_search[tables][$i]}'>$row2[bo_subject]</a> ($row[cnt])";
}
}
/* ************************************************************* */
이렇게 바꿔보세요..
정확히 이해를 하고 답변을 한건지... 모르지만...
for ($i=0; $i<count($g4_search[tables]); $i++)
{
$tmp_write_table = $g4[write_prefix] . $g4_search[tables][$i];
##################################################
# $g4[group_table] 그룹테이블의 gr_2 필드값이 1인 그룹에서만 검색..
# ㅠㅠ 징그럽네요... 2006.05.29 dalsoo
##################################################
echo"<p align='left'>";
echo"그룹아이디:<font color='red'>$gr_id</font> ";
echo"<font color='blue'>$tmp_write_table : {$g4_search[tables][$i]}<br></font>";
//gr_2 가 있냐.
$this[gr_2]="";//초기화
$rowG2=@mysql_fetch_array(@mysql_query("select gr_id,gr_1,gr_2 from $g4[group_table] "
."where (gr_id='$gr_id' and gr_2 ='1')"));
$this[gr_2]=$rowG2[gr_2];
$this[gr_2]=trim($this[gr_2]);
echo"<font color='green' size='3'>{$this[gr_2]}</font>";
echo"</p>";
if($this[gr_2] =='1'){/* +++++++++++++++++++++++++++++++++++++ */
$sql = " select wr_id from $tmp_write_table where $sql_search ";
$result = sql_query($sql);
$row[cnt] = @mysql_num_rows($result);
//$sql = " select count(*) as cnt from $tmp_write_table where $sql_search ";
//$row = sql_fetch($sql);
$total_count += $row[cnt];
if($row[cnt])
{
$board_count++;
$search_table[] = $g4_search[tables][$i];
$read_level[] = $g4_search[read_level][$i];
$search_table_count[] = $total_count;
$sql2 = " select bo_subject from $g4[board_table] where bo_table = '{$g4_search[tables][$i]}' ";
$row2 = sql_fetch($sql2);
$str_board_list .= "<img src='/img/icon_folder2.gif' border='0' align='absmiddle'> <a href='$_SERVER[PHP_SELF]?$search_query&gr_id=$gr_id&onetable={$g4_search[tables][$i]}'>$row2[bo_subject]</a> ($row[cnt])<br>";
}
} //if gr_2 ==1 /* +++++++++++++++++++++++++++++++++++++ */
}//for
##################################################
오달수님 ^^ 이렇게 하니 게시판이 검색은 안되고 정렬되어 나옵니다 ^^
그룹아이디: g4_write_sub1_1 : sub1_1
그룹아이디: g4_write_sub11_1 : sub11_1
그룹아이디: g4_write_sub2_1 : sub2_1
그룹아이디: g4_write_sub4_1 : sub4_1
그룹아이디: g4_write_sub5_1 : sub5_1
그룹아이디: g4_write_sub6_1 : sub6_1
그룹아이디: g4_write_sub7_1 : sub7_1
그룹아이디: g4_write_sub8_1 : sub8_1
그룹아이디: g4_write_sub11_2 : sub11_2
그룹아이디: g4_write_sub2_2 : sub2_2
그룹아이디: g4_write_sub4_2 : sub4_2
그룹아이디: g4_write_sub5_2 : sub5_2
그룹아이디: g4_write_sub6_2 : sub6_2
그룹아이디: g4_write_sub1_1 : sub1_1
그룹아이디: g4_write_sub11_1 : sub11_1
그룹아이디: g4_write_sub2_1 : sub2_1
그룹아이디: g4_write_sub4_1 : sub4_1
그룹아이디: g4_write_sub5_1 : sub5_1
그룹아이디: g4_write_sub6_1 : sub6_1
그룹아이디: g4_write_sub7_1 : sub7_1
그룹아이디: g4_write_sub8_1 : sub8_1
그룹아이디: g4_write_sub11_2 : sub11_2
그룹아이디: g4_write_sub2_2 : sub2_2
그룹아이디: g4_write_sub4_2 : sub4_2
그룹아이디: g4_write_sub5_2 : sub5_2
그룹아이디: g4_write_sub6_2 : sub6_2
1,이 스킨을 다운하시고
http://sir.co.kr/bbs/tb.php/g4_skin/8469
2,bbs/search_2.php 로 저장하시고
3,skin/search/해당스킨방/search.skin.php 를 업로드
4,head.php 의
f.action = "<?=$g4[bbs_path]?>/search_2.php";
5,기본환경설정에서 검색스킨의 종류를 선택
6,그룹관리에서 검색하시고 싶은 그룹의 gr_2 필드를 1로 쓰시고
7,게시판 환경설정-그룹선택
8,bbs/search_2.php 에서 위의 부분을 수정하시시요.
http://sir.co.kr/bbs/tb.php/g4_skin/8469
2,bbs/search_2.php 로 저장하시고
3,skin/search/해당스킨방/search.skin.php 를 업로드
4,head.php 의
f.action = "<?=$g4[bbs_path]?>/search_2.php";
5,기본환경설정에서 검색스킨의 종류를 선택
6,그룹관리에서 검색하시고 싶은 그룹의 gr_2 필드를 1로 쓰시고
7,게시판 환경설정-그룹선택
8,bbs/search_2.php 에서 위의 부분을 수정하시시요.