내 글, 코멘트 모음 마이페이지 소스코드 > 그누보드5 팁자료실

그누보드5 팁자료실

내 글, 코멘트 모음 마이페이지 소스코드 정보

내 글, 코멘트 모음 마이페이지 소스코드

본문


<?php
include_once("./_common.php");
$g5[title] = "최근 게시물"; 
include_once("./_head.php"); 
$mb_id = $_GET['mb_id']; 
if(!$mb_id){ 
$mb_id = $_POST['mb_id']; 
if(!$mb_id){ 
$mb_id = $member[mb_id]; 
} 
} 
$gr_id = "";
if(!$view){$view = "w";}
$sql_common = " from $g5[board_new_table] a, $g5[board_table] b, $g5[group_table] c 
               where a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = '1' ";
if ($gr_id)
    $sql_common .= " and b.gr_id = '$gr_id' ";
if ($view == "w")
    $sql_common .= " and a.wr_id = a.wr_parent ";
else if ($view == "c")
    $sql_common .= " and a.wr_id <> a.wr_parent ";
if ($mb_id)
    $sql_common .= " and a.mb_id = '$mb_id' ";
$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_new_rows];
$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=''>전체그룹";
$sql = " select gr_id, gr_subject from $g5[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 = $g5[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 == $g5[time_ymd])
            $datetime2 = substr($datetime2,11,5);
        else
            $datetime2 = substr($datetime2,5,5);
    }
    else // 코멘트
    {
        $comment = "[코] ";
        $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_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 == $g5[time_ymd])
            $datetime2 = substr($datetime2,11,5);
        else
            $datetime2 = substr($datetime2,5,5);
    }
    $list[$i][gr_id] = $row[gr_id];
    $list[$i][bo_table] = $row[bo_table];
    $list[$i][name] = $name;
    $list[$i][comment] = $comment;
    $list[$i][href] = "./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, "{$PHP_SELF}?view=$view&page=");
$new_skin_path = "$g5[path]/skin/new/$config[cf_new_skin]";
echo "<script type=\"text/javascript\" src=\"$g5[path]/js/sideview.js\"></script>\n";
?>
                <!-- board_list-->
                <table border="0" cellspacing="0" cellpadding="0">
                    <tr>
                        <th scope="col" class="title_divide">게시판</th>
                        <th scope="col" class="title_title">제목</th>
                        <th scope="col" class="title_date">등록일</th>
                    </tr>
                    <?php
for ($i=0; $i<count($list); $i++) 
{
    $gr_subject = $list[$i][gr_subject];
    $bo_subject = $list[$i][bo_subject];
    $wr_subject = get_text($list[$i][wr_subject]);
    echo <<<HEREDOC
<tr> 
    <td class="divide">{$bo_subject}</td>
    <td class="title"><a href='/bbs/{$list[$i][href]}'>{$list[$i][comment]}{$wr_subject}</a></td>
    <td class="date">{$list[$i][datetime2]}</td>
</tr>
HEREDOC;
}
?>
<?php
if ($i == 0) {
?>
<tr><td colspan="3" height=50 align=center>게시물이 없습니다.</td></tr>
<?php
}
?>
                </table>
                <?php echo $write_pages; ?>
<?php
include_once("./_tail.php"); 
?>

 

잘 응용해서 쓰세요.

루트에 mypage.php 로 저장하고 도메인/mypage.php?view=w (글만) 또는 ?view=c (코멘트만)로 불러오면 될거에요.

 

그누보드 4 공개 코드를 이용해 그누보드 5 용으로 수정하였습니다.

추천
7
  • 복사

댓글 6개

© SIRSOFT
현재 페이지 제일 처음으로