테스트 사이트 - 개발 중인 베타 버전입니다

카테고리 목록 select값으로 불러오기 채택완료

어라리라 6년 전 조회 6,798

그누보드 커스텀을 진행하다가 헤매고 있습니다..

글 목록페이지에서 ca_name 값으로 등록된 값으로 분류를 하고 싶습니다.

완전 초보이다보니 함수실행구문을 해석해가면서 해야 하는 상황인데요..ㅠ

 

[ 제가 하고 싶은 것! ▼]

 

외부 URL에서 ca_name값을 form의 post값으로 넘겨

게시글 자체에 분류값(유입경로)을 만드는 것 까지는 성공 했습니다.

(실제로는 게시판을 생성할 때 bo_category_list 에 넣어야 할 값들..)

그러나..

게시글 목록 페이지에서 select의 option(카테고리 자동으로 불러오기) 값으로 나열해서 보고 싶으나 bo_category_list에는 값이 들어가지 않아 분류 리스트를 불러오지 못하고 있습니다.

 

그래서 한참 헤매던 중 위티코드님이 올려주신 분류생성함수를 발견하였는데,

 

lib/common.lib.php 파일에도 넣어보고 list.php 파일에도 넣어보고 list.skin.php 파일에도 넣어보고 board_list.php 파일에도 넣어보고... write_update.skin.php 파일에도 다 넣어보았으나 동작을 하지 않습니다..

 

ㅠ.ㅠ혹시 도움을 주실 수 있을까요?

아래는 위티코드(https://sir.kr/g5_tip/7530)님의 글을 발췌하여 해석해보았습니다..

 

이 방법 말고 ca_name 목록 자체를 불러올 수 있는 방법이 있다면 도움을 부탁드립니다.

 

 

</p>

<p>    //카테고리를 추가하는 함수를 실행한다 (비교 대상인 a와 b가 인자로 전달된다)

    function CategoryAdd($ca_name, $bo_table){

            //ca_name 은

            if($ca_name){

                //row = mysql에서 정보를 가져온다 ( 지정한테이블게시판에 있는 카테고리 리스트 값 )

                $row = sql_fetch(" select bo_category_list from g5_board where bo_table = '".$bo_table."' ");

                //cut = 게시판카테고리리스트의 값 | 기준으로 문자열을 분할한다

                $cut = explode("|", $row['bo_category_list']);

                //만약 분할한 값이 0이라면

                if(count($cut) == 0)

                //add_category 는 ca_name값과 같다

          $add_category = $ca_name;

                //또는 (0이 아니라면)

                else

          // add_category 는 테이블게시판에 있는 카테고리 리스트값 + | + ca_name값

          $add_category = $row['bo_category_list']."|".$ca_name;

               

                //만약 ca_name값과 게시판카테고리리스트의 값 | 기준으로 문자열을 분할한 값을 비교했을 때 값이 없으면

                if(!in_array($ca_name, $cut)){

                    // 쿼리를 실행한다 g5_board의 bo_category_list 에 카테고리 값(ca_name)을 추가한다 - 선택한 테이블값에

                    sql_query(" update g5_board set bo_category_list = '".$add_category."' where bo_table = '".$bo_table."' ");</p>

<p>                }

            }

    }</p>

<p> </p>

<p>

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
6년 전

write_update.skin.php 파일에

올리신 함수와 함께

CategoryAdd($ca_name$bo_table);?>

구문 추가 하시면 될 것 같은데요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

어라리라
6년 전
사장님... 정말 감사합니다 3일동안 머리싸매고 헤매던 것을 이렇게 해결하네요.. 정말 감사합니다!

댓글을 작성하려면 로그인이 필요합니다.

혹시 저와 같은 어려움을 가지신 분이 있을까 하여 수정한 파일을 첨부합니다!

도움주신 볼피드님 정말정말 감사합니다!

코드를 작성해주신 위티코드님께도 감사말씀드립니다.

 

write_update.skin.php

</p>

<p><?php

if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>

<p>if ($w != 'u') {

?>

<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <title>신청되었습니다.</title>

    <link rel="stylesheet" href="">

</head>

<body>

    <!--[S] 관련스크립트 삽입-->

    <script></p>

<p>    </script>

    <!--[E] 관련스크립트 삽입-->

    <script>

        alert('신청되었습니다.');

        location.href = '<?php echo $url; ?>';

    </script>

</body>

</html>

<?php CategoryAdd($ca_name, $bo_table);</p>

<p>    //카테고리를 추가하는 함수를 실행한다 (비교 대상인 a와 b가 인자로 전달된다)

    function CategoryAdd($ca_name, $bo_table){

            //ca_name 은

            if($ca_name){

                //row = mysql에서 정보를 가져온다 ( 지정한테이블게시판에 있는 카테고리 리스트 값 )

                $row = sql_fetch(" select bo_category_list from g5_board where bo_table = '".$bo_table."' ");

                //cut = 게시판카테고리리스트의 값 | 기준으로 문자열을 분할한다

                $cut = explode("|", $row['bo_category_list']);

                //만약 분할한 값이 0이라면

                if(count($cut) == 0)

                //add_category 는 ca_name값과 같다

          $add_category = $ca_name;

                //또는 (0이 아니라면)

                else

          // add_category 는 테이블게시판에 있는 카테고리 리스트값 + | + ca_name값

          $add_category = $row['bo_category_list']."|".$ca_name;

                //만약 ca_name값과 게시판카테고리리스트의 값 | 기준으로 문자열을 분할한 값을 비교했을 때 값이 없으면

                if(!in_array($ca_name, $cut)){

                    // 쿼리를 실행한다 g5_board의 bo_category_list 에 카테고리 값(ca_name)을 추가한다 - 선택한 테이블값에

                    sql_query(" update g5_board set bo_category_list = '".$add_category."' where bo_table = '".$bo_table."' ");</p>

<p>                }

            }

    }

?>

<?php

    exit;

} else {

    // 최고관리자,게시판관리자(level 8이상)만 상담내용 업데이트

    if (isset($wr_11) && ( ($is_admin && $is_admin != "board") || ($is_admin == "board" && $member['mb_level'] >= 8 && $member['mb_id'] == $board['bo_admin']) ) ) {

        $sql = " update {$write_table} set wr_11='$wr_11' where wr_id = '$wr_id' ";

        sql_query($sql);

    }

    goto_url(G5_BBS_URL.'/board.php?bo_table='.$bo_table.$qstr);

}

?></p>

<p> </p>

<p> </p>

<p>

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인