배추님 스킨 관련글에 대해 .. 꼭좀 답변좀 ^^;; > 그누4 질문답변

그누4 질문답변

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

배추님 스킨 관련글에 대해 .. 꼭좀 답변좀 ^^;; 정보

배추님 스킨 관련글에 대해 .. 꼭좀 답변좀 ^^;;

본문

다시한번 질문 올려 봅니다. ^^ 어제 올렸던 질문입니다. 

배추게시판을 사용하고 있습니다 ^^
근데 배추 게시판은 관련글이라는게 있는데 그 관련글에 태그형식으로 입력을 하면
해당게시판에 한해서만 해당 게시물을 불러 오게 되어 있는데 ..
배추님 게시판을 한번이라고 스킨을 보신분은 아실듯 한데 ^^;;
즉 Aboard라는 게시판내에서 관련글에 배추,양추,상추 이런식으로 적으면
같은 Aboard라는 게시판내에서 같은 관련글이 작성된 제목을 불러 오게 되어 있습니다.
혹시 다른 게시판에 관련글도 가져 올 수 있을까요??
Aboard게시판의 관련글의 제목이 아닌 Bboard게시판에 해당 관련글의  제목을 뽑아 오고 싶은데
잘 안되네요 ^^
관련글 불러 오는 함수가 이것인데 ..

mw.lib/mw.skin.basic.lib.php 파일

// 관련글 얻기.. 080429, curlychoi
function mw_related($related, $count, $field="wr_id, wr_subject, wr_content")
{
    global $bo_table, $write_table, $g4, $wr_id;

    if (!trim($related)) return;

    $sql_where = "";
    $related = explode(",", $related);
    foreach ($related as $rel) {
        $rel = trim($rel);
        if ($rel) {
            $rel = addslashes($rel);
            if ($sql_where) {
                $sql_where .= " or ";
            }
            $sql_where .= " (instr(wr_subject, '$rel') or instr(wr_content, '$rel')) ";
        }
    }
    $sql_where .= " and wr_id <> '$wr_id' ";
    $sql = "select $field from $write_table where wr_is_comment = 0 and ($sql_where) order by wr_num ";
    $qry = sql_query($sql);

    $list = array();
    $i = 0;
    while ($row = sql_fetch_array($qry)) {
        $list[] = $row;
        if (++$i >= $count) {
            break;
        }
    }
    return $list;
}

보여지는 스킨/view.php

<? if ($mw_basic[cf_related] && $view[wr_related]) { ?>
<? $rels = mw_related($view[wr_related], $mw_basic[cf_related]); ?>
<? if (count($rels)) {?>
<tr>
    <td class=mw_basic_view_related>
        <h3>관련글</h3>
    </td>
</tr>
<tr>
    <td class="mw_basic_view_content mw_basic_view_related">
        <ul>
        <? for ($i=0; $i<count($rels); $i++) { ?>
        <li> <a href="<?=$g4[bbs_path]?>/board.php?bo_table=<?=$bo_table?>&wr_id=<?=$rels[$i][wr_id]?>"> <?=$rels[$i][wr_subject]?> </a> </li>
        <? } ?>
        </ul>
    </td>
</tr>
<? } ?>
<? } ?>

이건데 립파일을 수정해야 할거 같기도 하고 뷰파일을 수정을 해야 할거 같기도 하고 ^^;
그누보드는 초보라 ..^^;; 고수님들의 답변을 기다려 봅니다.
날씨가 많이 더워졌죠 ^^ 힘내세요 ~

-----------------------------------------------------------------------------------
그리고 오늘 그누보드에서 답변이 없으셔서 php 스쿨에서 질문을 드렸는데 이런 답변이

function mw_related_new($related, $count, $field="wr_id, wr_subject, wr_content",$nextboard='') {
    global $bo_table, $write_table, $g4, $wr_id;
    if (!trim($related)) return;
    $sql_where = "";
    $related = explode(",", $related);
    foreach ($related as $rel) {
        $rel = trim($rel);
        if ($rel) {
            $rel = addslashes($rel);
            if ($sql_where) {
                $sql_where .= " or ";
            }
            $sql_where .= " (instr(wr_subject, '$rel') or instr(wr_content, '$rel')) ";
        }
    }
 if($nextboard!=''){
    $sql_where .= " and wr_id <> '$wr_id' ";
    $sql = "select $field from $write_table where wr_is_comment = 0 and ($sql_where) ";
    $sql.= " union all select $field from $nextboard where wr_is_comment = 0 and ($sql_where) ";
    $sql.= " order by wr_num ";
 }else{
    $sql_where .= " and wr_id <> '$wr_id' ";
    $sql = "select $field from $write_table where wr_is_comment = 0 and ($sql_where) order by wr_num ";
 }
    $qry = sql_query($sql);
    $list = array();
    $i = 0;
    while ($row = sql_fetch_array($qry)) {
        $list[] = $row;
        if (++$i >= $count) {
            break;
        }
    }
    return $list;
}

이렇게 하라고 하셔서 해보니 안되더라구요 ^^ 즉 view파일에 mw_related_new부분을 변경
하였구요 .. 근데 게시판을 지정을 해야 될텐데 게시판 지정을 어디서 하는지 그리고 이 소스가
맞는지 모르겠네요 ^^ 꼭 답변좀 부탁 드려 봅니다. ^^;;

댓글 전체

TopSchooL님 //

답변 감사 드립니다. 제가 이런 php쪽은 완전 초보라서요 ^^;;

근데 그걸 어디다가 집어 넣어야 하나요??

즉 그렇게 해서 집어 넣으면 소스를 어떻게 자야 하는지 ^^;; 정말 민망할 정도로 초보라 죄송합니다. ;;'
global $bo_table, $write_table, $g4, $wr_id;
요부분 아랫부분에
$write_table = "게시판디비명풀네임";
$bo_table = " g4_write_ 이것을뺀나머지 게시판디비명";

넣어주시면 되요
TopSchooL님 //  감사 합니다.

근데 제가 멍청한건가요 ? ;; ^^

$write_table = "게시판디비명풀네임";
$bo_table = " g4_write_ 이것을뺀나머지 게시판디비명";

$write_table = "게시판디비명풀네임";

여기서 게시판디비명풀네임과

$bo_table = " g4_write_ 이것을뺀나머지 게시판디비명";

이건 무슨 말인지 .. 하하 정말 제가 멍청한가 봅니다.

즉 예로 게시판 테이블명이 freeboard 라고 하면


$write_table = "freeboard";
$bo_table = " g4_write_ freeboard";

이렇게 작성 하라는 이야기 인가요?
게시판디비명풀네임 - g4_write_ 이것을뺀나머지 게시판디비명

이말의 뜻을 모르겠네요 ^^;; 정말 멍청한가 봅니다. 죄송합니다;;
// 관련글 얻기.. 080429, curlychoi
function mw_related($related, $count, $field="wr_id, wr_subject, wr_content")
{
    global $bo_table, $write_table, $g4, $wr_id;
    $write_table = "g4_write_freeboard";
    $bo_table = "freeboard";

    if (!trim($related)) return;

    $sql_where = "";
    $related = explode(",", $related);
    foreach ($related as $rel) {
        $rel = trim($rel);
        if ($rel) {
            $rel = addslashes($rel);
            if ($sql_where) {
                $sql_where .= " or ";
            }
            $sql_where .= " (instr(wr_subject, '$rel') or instr(wr_related, '$rel')) ";
        }
    }
    $sql_where .= " and wr_id <> '$wr_id' ";
    $sql = "select $field from $write_table where wr_is_comment = 0 and ($sql_where) order by wr_num ";
    $qry = sql_query($sql);

    $list = array();
    $i = 0;
    while ($row = sql_fetch_array($qry)) {
        $list[] = $row;
        if (++$i >= $count) {
            break;
        }
    }
    return $list;
}



이렇게 했는데도 못불러 오네요 ^^;; 괜히 저때문에 죄송합니다. ^^
이렇게에요

$write_table = "g4_write_ freeboard";
$bo_table = "freeboard";

알려주신 이 소스에는 g4_write_ freeboard 에 freeboard앞에 한칸의 공백이 있는데

없는게 맞는거죠?? 한칸 띄웠을때는 오류가 나는데 안띄웠을때는 오류도 안나지만

불러 오지를 못하네요 ..^^
요부분
$sql = "select $field from $write_table where wr_is_comment = 0 and ($sql_where) order by wr_num ";
이렇게 바꾸시고
echo $sql = "select $field from $write_table where wr_is_comment = 0 and ($sql_where) order by wr_num ";
거기서 나오는 문구 찍어주세요
감사 드립니다. ^^

아 제가 실수를 했었네요 .. 정말 잘 됩니다. ^^ 감사 드립니다.

제가 뭔가 착각을 했었나 봅니다. 주석 처리 해놓고 테스트를 해봤던 모양 입니다.

고개숙여 죄송하다는 말씀을 드리며 정말 감사 드립니다. ^^
전체 86 |RSS

회원로그인

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