(질문) 이전 질문에 이어서 부탁드립니다. bbs/search.php에서 gr_2 = '1' "; 의 조건식이 될 수 있도록 부탁드립니다 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

(질문) 이전 질문에 이어서 부탁드립니다. 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; // 한페이지에 출력하는 검색 행수
    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]' ";
   

 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);
  • 복사

댓글 전체

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
$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에서도 시도 해 보시고요.
//이 부분을
/* ************************************************************* */
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'>&nbsp;<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
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 에서 위의 부분을 수정하시시요.
© SIRSOFT
현재 페이지 제일 처음으로