댓글의 여분필드값을 view페이지에 불러오기

댓글의 여분필드값을 view페이지에 불러오기

QA

댓글의 여분필드값을 view페이지에 불러오기

본문

안녕하세요 혼자 파다가 삽질을 오래한 끝에 안되서 글올립니다.

 

view.skin.php 본문내용을 불러오는 부분에 해당게시글의 모든 댓글의 여분필드값을 불러오고 싶은데요.

 

  <?php
    // 코멘트 입출력
    include_once(G5_BBS_PATH.'/view_comment.php');
     ?>

이 부분 한참 위로요.

 

도무지 어떻게 불러와야할지 이래도 저래도 안되서 도움구합니다..ㅜㅜ

 

초보이니 쉽게 설명부탁드려요..ㅠ.ㅠ

이 질문에 댓글 쓰기 :

답변 3

※ 본문 내용을 출력하는 부분에 댓글 작성자의 정보도 함께 불러와 표시하겠다는 것이군요 ?

  - 본문을 읽는 위치에서 해당 게시글에 달린 모든 댓글

  - 각 댓글 작성자에 대한 작성자 이름, 작성 시간 등의 정보를 함께 출력한다느 것인가요?

/bbs/view.php 수정된 전체 소스


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

// glitter start ==================================
$comment_wr_1 = array();
$sql = "SELECT wr_1 FROM {$write_table} WHERE wr_parent = '{$wr_id}' AND wr_is_comment = 1";
$result = sql_query($sql);

while ($row = sql_fetch_array($result)) {
    // wr_1 필드 값이 있는 경우 배열에 저장
    if ($row['wr_1']) {
        $comment_wr_1[] = $row['wr_1'];
    }
}
// glitter =====  end ============================

if (function_exists('check_case_exist_title')) check_case_exist_title($write, G5_BBS_DIR, true);

// 게시판에서 두단어 이상 검색 후 검색된 게시물에 코멘트를 남기면 나오던 오류 수정
$sop = strtolower($sop);
if ($sop != 'and' && $sop != 'or')
    $sop = 'and';

@include_once($board_skin_path.'/view.head.skin.php');

$sql_search = "";
// 검색이면
if ($sca || $stx || $stx === '0') {
    // where 문을 얻음
    $sql_search = get_sql_search($sca, $sfl, $stx, $sop);
    $search_href = get_pretty_url($bo_table,'','&amp;page='.$page.$qstr);
    $list_href = get_pretty_url($bo_table);
} else {
    $search_href = '';
    $list_href = get_pretty_url($bo_table,'',$qstr);
}

if (!$board['bo_use_list_view']) {
    if ($sql_search)
        $sql_search = " and " . $sql_search;

    // 윗글을 얻음
    $sql = " select wr_id, wr_subject, wr_datetime from {$write_table} where wr_is_comment = 0 and wr_num = '{$write['wr_num']}' and wr_reply < '{$write['wr_reply']}' {$sql_search} order by wr_num desc, wr_reply desc limit 1 ";
    $prev = sql_fetch($sql);
    // 위의 쿼리문으로 값을 얻지 못했다면
    if (! (isset($prev['wr_id']) && $prev['wr_id'])) {
        $sql = " select wr_id, wr_subject, wr_datetime from {$write_table} where wr_is_comment = 0 and wr_num < '{$write['wr_num']}' {$sql_search} order by wr_num desc, wr_reply desc limit 1 ";
        $prev = sql_fetch($sql);
    }

    // 아래글을 얻음
    $sql = " select wr_id, wr_subject, wr_datetime from {$write_table} where wr_is_comment = 0 and wr_num = '{$write['wr_num']}' and wr_reply > '{$write['wr_reply']}' {$sql_search} order by wr_num, wr_reply limit 1 ";
    $next = sql_fetch($sql);
    // 위의 쿼리문으로 값을 얻지 못했다면
    if (! (isset($next['wr_id']) && $next['wr_id'])) {
        $sql = " select wr_id, wr_subject, wr_datetime from {$write_table} where wr_is_comment = 0 and wr_num > '{$write['wr_num']}' {$sql_search} order by wr_num, wr_reply limit 1 ";
        $next = sql_fetch($sql);
    }
}

// 이전글 링크
$prev_href = '';
if (isset($prev['wr_id']) && $prev['wr_id']) {
    $prev_wr_subject = get_text(cut_str($prev['wr_subject'], 255));
    $prev_href = get_pretty_url($bo_table, $prev['wr_id'], $qstr);
    $prev_wr_date = $prev['wr_datetime'];
}

// 다음글 링크
$next_href = '';
if (isset($next['wr_id']) && $next['wr_id']) {
    $next_wr_subject = get_text(cut_str($next['wr_subject'], 255));
    $next_href = get_pretty_url($bo_table, $next['wr_id'], $qstr);
    $next_wr_date = $next['wr_datetime'];
}

// 쓰기 링크
$write_href = '';
if ($member['mb_level'] >= $board['bo_write_level']) {
    $write_href = short_url_clean(G5_BBS_URL.'/write.php?bo_table='.$bo_table);
}

// 답변 링크
$reply_href = '';
if ($member['mb_level'] >= $board['bo_reply_level']) {
    $reply_href = short_url_clean(G5_BBS_URL.'/write.php?w=r&amp;bo_table='.$bo_table.'&amp;wr_id='.$wr_id.$qstr);
}

// 수정, 삭제 링크
$update_href = $delete_href = '';
// 로그인중이고 자신의 글이라면 또는 관리자라면 비밀번호를 묻지 않고 바로 수정, 삭제 가능
if (($member['mb_id'] && ($member['mb_id'] === $write['mb_id'])) || $is_admin) {
    $update_href = short_url_clean(G5_BBS_URL.'/write.php?w=u&amp;bo_table='.$bo_table.'&amp;wr_id='.$wr_id.'&amp;page='.$page.$qstr);
    set_session('ss_delete_token', $token = uniqid(time()));
    $delete_href = G5_BBS_URL.'/delete.php?bo_table='.$bo_table.'&amp;wr_id='.$wr_id.'&amp;token='.$token.'&amp;page='.$page.urldecode($qstr);
}
else if (!$write['mb_id']) { // 회원이 쓴 글이 아니라면
    $update_href = G5_BBS_URL.'/password.php?w=u&amp;bo_table='.$bo_table.'&amp;wr_id='.$wr_id.'&amp;page='.$page.$qstr;
    $delete_href = G5_BBS_URL.'/password.php?w=d&amp;bo_table='.$bo_table.'&amp;wr_id='.$wr_id.'&amp;page='.$page.$qstr;
}

// 최고, 그룹관리자라면 글 복사, 이동 가능
$copy_href = $move_href = '';
if ($write['wr_reply'] == '' && ($is_admin == 'super' || $is_admin == 'group')) {
    $copy_href = G5_BBS_URL.'/move.php?sw=copy&amp;bo_table='.$bo_table.'&amp;wr_id='.$wr_id.'&amp;page='.$page.$qstr;
    $move_href = G5_BBS_URL.'/move.php?sw=move&amp;bo_table='.$bo_table.'&amp;wr_id='.$wr_id.'&amp;page='.$page.$qstr;
}

$scrap_href = '';
$good_href = '';
$nogood_href = '';
if ($is_member) {
    // 스크랩 링크
    $scrap_href = G5_BBS_URL.'/scrap_popin.php?bo_table='.$bo_table.'&amp;wr_id='.$wr_id;

    // 추천 링크
    if ($board['bo_use_good'])
        $good_href = G5_BBS_URL.'/good.php?bo_table='.$bo_table.'&amp;wr_id='.$wr_id.'&amp;good=good';

    // 비추천 링크
    if ($board['bo_use_nogood'])
        $nogood_href = G5_BBS_URL.'/good.php?bo_table='.$bo_table.'&amp;wr_id='.$wr_id.'&amp;good=nogood';
}

$view = get_view($write, $board, $board_skin_path);

if (strs
- 수정된 전체 소스 ~~

※ 소스가 계속 잘리네요.
   
/bbs/view.php - Line 3에 추가


//  Line 3에 추가
$comment_wr_1 = array();
$sql = "SELECT wr_1 FROM {$write_table} WHERE wr_parent = '{$wr_id}' AND wr_is_comment = 1";
$result = sql_query($sql);

while ($row = sql_fetch_array($result)) {
    if ($row['wr_1']) {
        $comment_wr_1[] = $row['wr_1'];
    }
}


/skin/board/{사용중인_스킨}/view.skin.php -여기서는 basic을 기준 한 141 Line에 추가

    <!-- basic-skin을 기준 한 141 Line에 추가 -->
    <?php if (!empty($comment_wr_1)) { ?>
    <section id="comment_wr_1_fields">
        <h2>댓글의 여분 필드 (wr_1)</h2>
        <p>
            <?php echo implode(', ', $comment_wr_1);
        </p>
    </section>
    <?php } ?>

모든 댓글의 여분필드값이라는게 정확히 어떤 의미인지 정확히 알수가 없어서요
댓글을 가져오려면 별도 기능으로 쿼리 구현을 해야 하는 부분이라서요

현재 열려있는 뷰페이지에서 달린 모든 댓글의 내용에 여분필드값이요.
그러니까, '사과사실분' 이라는 게시글에  댓글이 3개 달렸다면 그 댓글3개에 있는 여분필드값을 모두 본문에 불러오고 싶다는 말입니다. ㅜㅜ
저도 쿼리로 가져와야할것같아서 이것저것 짜깁기해봤는데 잘 안되네요..

여분필드는 wr_1 ~ wr_10

$view['wr_1'] 이라던가

댓글이면 view_comment 가서 쿼리 살펴보고 $row['wr_1'] 이라던가

변수명을 보고 출력하면될듯

답변을 작성하시기 전에 로그인 해주세요.
전체 61,328
QA 내용 검색

회원로그인

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