전체 게시판 공지에 코멘트 갯수를 표시하고 싶습니다. > 그누4 질문답변

그누4 질문답변

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

전체 게시판 공지에 코멘트 갯수를 표시하고 싶습니다. 정보

전체 게시판 공지에 코멘트 갯수를 표시하고 싶습니다.

본문

메인 페이지에 new.php를 불러와서 사용중입니다.
php왕 초보라 어떻게 다른 곳에서 소스를 구해서 메인페이지에 공지만 뜰 수 있게 했는데요.

파일과 같이 다른 게시판 리스트처럼 괄호 안에 해당 게시글의 코멘트 수를 표시하고 싶습니다.
일반 게시판의 list.skin.php를 참고해서 해봐도 잘 안되네요 ㅠㅠㅠ

아래는 현재 사용중인 소스입니다.

index.php ===============================================

<?
include_once("./_common.php");
include_once("$g4[path]/lib/latest.lib.php");

$g4['title'] = "";
include_once("./head.main.php");

$sql_common = " from $g4[board_new_table] a, $g4[board_table] b, $g4[group_table] c
              where a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = '1'  and INSTR(b.bo_notice, a.wr_id) >0 ";

if ($gr_id)
    $sql_common .= " and b.wr_id = a.wr_parent ";
if ($view == "w")
    $sql_common .= " and a.wr_id = a.wr_parent ";
$sql_order = " order by a.bn_id desc ";

$sql = " select count(*) as cnt $sql_common ";
$row = sql_fetch($sql);
$total_count = $row[cnt];

//$rows = $config[cf_page_rows];

$rows = 8;  //한 페이지당 목록 수. 위에꺼는 디비에 저장된 초기값.


$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if (!$page) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함

$group_select = "<select name=gr_id id=gr_id onchange='select_change();'><option value='w'>전체그룹";
$sql = " select gr_id, gr_subject from $g4[group_table] order by gr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
    $group_select .= "<option value='$row[gr_id]'>$row[gr_subject]";
}
$group_select .= "</select>";


$list = array();
$sql = " select a.*, b.bo_subject, c.gr_subject, c.gr_id
          $sql_common
          $sql_order
          limit $from_record, $rows ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
    $tmp_write_table = $g4[write_prefix] . $row[bo_table];

    if ($row[wr_id] == $row[wr_parent]) // 원글
    {
        $comment = "";
        $comment_link = "";
        $row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_id]' ");
        $list[$i] = $row2;

        $name = get_sideview($row2[mb_id], cut_str($row2[wr_name], $config[cf_cut_name]), $row2[wr_email], $row2[wr_homepage]);
        // 당일인 경우 시간으로 표시함
        $datetime = substr($row2[wr_datetime],0,10);
        $datetime2 = $row2[wr_datetime];
        if ($datetime == $g4[time_ymd])
            $datetime2 = substr($datetime2,11,5);
        else
            $datetime2 = substr($datetime2,5,5);

    }
    else // 코멘트
    {
        $comment = "[re] ";
        $comment_link = "#c_{$row[wr_id]}";
        $row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_parent]' ");
        $row3 = sql_fetch(" select mb_id, wr_name, wr_email, wr_homepage, wr_datetime from $tmp_write_table where wr_id = '$row[wr_id]' ");
        $list[$i] = $row2;
        $list[$i][mb_id] = $row3[mb_id];
        $list[$i][wr_name] = $row3[wr_name];
        $list[$i][wr_comment] = $row3[wr_comment];
        $list[$i][wr_email] = $row3[wr_email];
        $list[$i][wr_homepage] = $row3[wr_homepage];

        $name = get_sideview($row3[mb_id], cut_str($row3[wr_name], $config[cf_cut_name]), $row3[wr_email], $row3[wr_homepage]);
        // 당일인 경우 시간으로 표시함
        $datetime = substr($row3[wr_datetime],0,10);
        $datetime2 = $row3[wr_datetime];
        if ($datetime == $g4[time_ymd])
            $datetime2 = substr($datetime2,11,5);
        else
            $datetime2 = substr($datetime2,5,5);


//1,원글에 뉴 아이콘을 달려면 1줄 추가 합니다.
        $list[$i][wr_date]=$row2[wr_datetime];

    }

    $list[$i][gr_id] = $row[gr_id];
    $list[$i][bo_table] = $row[bo_table];
    $list[$i][name] = $name;
$list[$i][nick] = $nick;
$mb_data[mb_nick] = $mb_nick;
$mb_data[mb_1] = $mb_1;
$$list[$i][wr_hit] = $wr_hit;
    $list[$i][comment] = $comment;
$list[$i][comment_cnt] = $comment_cnt;
    $list[$i][href] = "$g4[bbs]/board.php?bo_table=$row[bo_table]&wr_id=$row2[wr_id]{$comment_link}";
    $list[$i][datetime] = $datetime;
    $list[$i][datetime2] = $datetime2;

    $list[$i][gr_subject] = $row[gr_subject];
    $list[$i][bo_subject] = $row[bo_subject];
    $list[$i][wr_subject] = $row2[wr_subject];
}

$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "?gr_id=$gr_id&view=$view&page=");

$new_skin_path = "$g4[path]/skin/new/$config[cf_new_skin]";

echo "<script language=\"javascript\" src=\"$g4[path]/js/sideview.js\"></script>\n";
?>
<style>
.n_title1 { font-family:돋움; font-size:9pt; color:#FFFFFF; }
.n_title2 { font-family:돋움; font-size:9pt; color:#ff0000; }
</style>

<!-- 메인화면 최신글 (중략)-->

<?
for ($i=0; $i<count($list); $i++)
{
if($list[$i][wr_comment] >= 0) { // 코멘트가 아닌것만 출력해라
// 만약 코멘트인것만 출력하고자 할경우 위의 부등호를 ">" 로 바꾸시면 됩니다.

    $gr_subject = cut_str($list[$i][gr_subject], 10);
    $bo_subject = cut_str($list[$i][bo_subject], 10);
    $wr_subject = get_text(cut_str($list[$i][wr_subject], 100));

    echo <<<HEREDOC

<tr>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
    <td width="430" height=25><img src=./skin/latest/basic_notice/img/box02_bullet.gif' align=absmiddle>
    &nbsp;<strong>[{$list[$i][datetime2]}]&nbsp;&nbsp;<a href='{$list[$i][href]}'><font color="#ff0000">{$wr_subject}</a></strong></font>&nbsp;<span class='comment'>[{$list[$i][comment_cnt]}]</span>({$list[$i][wr_hit]})   

    </td>
<td width="100" height=25 align="center">{$lever_icon}&nbsp;{$mb_data[mb_1]}&nbsp;{$list[$i][name]}&nbsp;{$list[$i][wr_nick]}</td>

</tr>
<tr>
    <td colspan="9" height="1" background="{$new_skin_path}/img/dot_bg.gif"></td>
</tr>
HEREDOC;
} // 코멘트가 아닌것만 출력해라
}
?>


<? if ($i == 0) { ?>
<tr><td colspan="9" height=50 align=center>게시물이 없습니다.</td></tr>
<? } ?>
</table>


index.php 해당 소스 끝===============================================



중간중간 제가 실험하다 미처 지우지 못한 소스가 너저분하게 있네요ㅠㅠ..
가능하면 [레벨아이콘/여분필드(mb_1)/이름/닉네임] 순으로 나오게 하는 방법도 알려주셨으면 합니다. (닉네임은 추출하기 쉬울 줄 알았는데 이것도 왠지 안되네요ㅠㅠㅠ)


다시한번 정리하자면...

1. 글제목 뒤에 (코멘트 갯수) 나오게 하는 법
2. [레벨아이콘/여분필드(mb_1)/이름/닉네임] 나오게 하는 법


꼭 필요한건데 며칠째 막혀서 답답합니다.. 꼭 부탁드립니다!!!ㅠㅠ
  • 복사

댓글 전체

감사합니다. 1번은 바로 해결이 됐네요^^
2번은 말씀하신대로 추가했는데요.
불러온 데이터를 $list[$i][wr_id] 형태로 사용하는것 같은데...
$mb[$i]['mb_nick'] / $list[$i][wr_nick] / $list[$i][nick] / $list[$i][mb_nick] / $list[$i]['mb_nick'] 등등.. 여러가지로 해봐도 표시가 안되네요^^;;;
너무 기초적인 질문들 드려 죄송합니다..가능하시다면 이런 질문이지만 답변 부탁드릴게요^^
© SIRSOFT
현재 페이지 제일 처음으로