bo_notice는 어디에서 가져오나요?

bo_notice는 어디에서 가져오나요?

QA

bo_notice는 어디에서 가져오나요?

본문

빠른 답변 덕분에 공부가 쏙쏙 잘 되고 있습니다. 감사합니다.

 

bo_notice를

$notice_array = explode(',', trim($board['bo_notice']));

 

이런식으로 여기 저기에서 자주 볼 수 있습니다. 공지글 번호인데,

bo_notice값은 어디에서 가져오나요?

 

감사합니다.

이 질문에 댓글 쓰기 :

답변 4

/lib/common.php 중

function board_notice() 에서 현재 게시판의 공지글 wr_id값을 구합니다.

 

해당 함수는 게시글 작성, 삭제 시 호출되어집니다.

 

 

게시글 작성, 삭제 부분에 있습니다.
작성 부분을 부분을 보시면


    $bo_notice = board_notice($board['bo_notice'], $wr_id, $notice);
    sql_query(" update {$g5['board_table']} set bo_notice = '{$bo_notice}' where bo_table = '{$bo_table}' ");

이렇게 해당 함수를 호출하여 bo_notice 를 업데이트 합니다.

함수 내용을 분석해보시면 이해가 되실겁니다.

답변 감사합니다. 기다리고 있었습니다.


            $bo_notice = board_notice($board['bo_notice'], $wr_id, $notice);
            sql_query(" update {$g5['board_table']} set bo_notice = '{$bo_notice}' where bo_table = '{$bo_table}' ");

여기서  sql_query는 bo_notice값이 없을시 새로운 $bo_notice값을 저장한다 라고 이해되는데, 맨 초기 새 글 작성시에, $board['bo_notice']의 bo_notice 필드값은 비어있잖아요. 그럼

$bo_notice = board_notice($board['bo_notice'], $wr_id, $notice);

board_notice 함수에서 $bo_notice 값이 어떻게 구해지나요?

감사합니다

g5_board 에 공지글 저장하는 필드가 있습니다.

귀찮게 해서 죄송합니다. write.update 파일에서 그 내용을 찾았습니다.

    if ($w == '') { // 새 글
        if ($notice) {
            $bo_notice = $wr_id.($board['bo_notice'] ? ",".$board['bo_notice'] : '');
            sql_query(" update {$g5['board_table']} set bo_notice = '{$bo_notice}' where bo_table = '{$bo_table}' ");

여기서  sql_query는 bo_notice값이 없을시 새로운 $bo_notice값을 저장한다 라고 이해되는데, 맨 초기 새 글 작성시에, $board['bo_notice']의 bo_notice 필드값은 비어있잖아요. 그럼

이 축약형 조건 $bo_notice = $wr_id.($board['bo_notice'] ? ",".$board['bo_notice'] : '');

$bo_notice = ' '; 가 된다는 뜻일텐데..

비어있는 $bo_notice가 데이터베이스에 저장된다는 뜻은 제가 잘못 이해했다는거겠죠 ㅠㅠ

초기에 새로운 공지글 작성시에, 비어 있는 $board['bo_notice']의 bo_notice 필드값이 write.update로 넘어가면서 어떻게 저장되는지만 설명 부탁드려도 될까요?
감사합니다

게시판, 즉 주소 url에서 botable=게시판명

이런 형식으로 url이 있으면

www/common.php 파일에서


if ($bo_table) {
    $board = sql_fetch(" select * from {$g5['board_table']} where bo_table = '$bo_table' ");
    if ($board['bo_table']) {
        set_cookie("ck_bo_table", $board['bo_table'], 86400 * 1);
        $gr_id = $board['gr_id'];
        $write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
        //$comment_table = $g5['write_prefix'] . $bo_table . $g5['comment_suffix']; // 코멘트 테이블 전체이름
        if (isset($wr_id) && $wr_id)
            $write = sql_fetch(" select * from $write_table where wr_id = '$wr_id' ");
    }
}

$board 배열변수가 셋팅됩니다.

위치는 소스를 봐야 알겠지만... 보통은 이렇게 사용해요.

 

변수 =  테이블 필드를 배열로 불러오는 쿼리 소스;

 

그럼, 저 변수에 해당 게시판의 필드가 배열변수로 들어갑니다.

 

<?PHP

print_r2($board);

?>

 

이렇게 찍어보시면 저 변수에 들어간 배열을 모두 확인 가능해요.

답변을 작성하시기 전에 로그인 해주세요.
전체 85
QA 내용 검색
filter ##php ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT