전체 게시판 공지에 코멘트 갯수를 표시하고 싶습니다. 정보
전체 게시판 공지에 코멘트 갯수를 표시하고 싶습니다.본문
메인 페이지에 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>
<strong>[{$list[$i][datetime2]}] <a href='{$list[$i][href]}'><font color="#ff0000">{$wr_subject}</a></strong></font> <span class='comment'>[{$list[$i][comment_cnt]}]</span>({$list[$i][wr_hit]})
</td>
<td width="100" height=25 align="center">{$lever_icon} {$mb_data[mb_1]} {$list[$i][name]} {$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)/이름/닉네임] 나오게 하는 법
꼭 필요한건데 며칠째 막혀서 답답합니다.. 꼭 부탁드립니다!!!ㅠㅠ
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>
<strong>[{$list[$i][datetime2]}] <a href='{$list[$i][href]}'><font color="#ff0000">{$wr_subject}</a></strong></font> <span class='comment'>[{$list[$i][comment_cnt]}]</span>({$list[$i][wr_hit]})
</td>
<td width="100" height=25 align="center">{$lever_icon} {$mb_data[mb_1]} {$list[$i][name]} {$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'] 등등.. 여러가지로 해봐도 표시가 안되네요^^;;;
너무 기초적인 질문들 드려 죄송합니다..가능하시다면 이런 질문이지만 답변 부탁드릴게요^^
2번은 말씀하신대로 추가했는데요.
불러온 데이터를 $list[$i][wr_id] 형태로 사용하는것 같은데...
$mb[$i]['mb_nick'] / $list[$i][wr_nick] / $list[$i][nick] / $list[$i][mb_nick] / $list[$i]['mb_nick'] 등등.. 여러가지로 해봐도 표시가 안되네요^^;;;
너무 기초적인 질문들 드려 죄송합니다..가능하시다면 이런 질문이지만 답변 부탁드릴게요^^