회원 아이디와 게시글 여분필드 값이 같으면 내가쓴글 에 출력하기 채택완료
더인찌
5년 전
조회 2,145
new.php를 이용하여 내가 쓴글을 출력하게 만들었습니다.
아래는 해당 코드입니다.
(+) 여기서 기능을 추가하고 싶은데 회원아이디가 사업자번호 10자리로 구성되겠끔 번호로 이루어져 있습니다.
그리고 게시판 글쓰기 페이지에 여분필드 wr_12를 추가하여 사업자번호를 넣을 수 있게 했습니다.
그래서 회원 아이디 = wr_12 가 되면 내가 쓴글 목록에 추가하고 싶습니다.
고수님들 도와주세요~
</p>
<p><?
include_once("./_common.php");</p>
<p>$g5[title] = "최근 게시물";
include_once("./_head.php"); </p>
<p>$mb_id = $_GET['mb_id'];
if(!$mb_id){
$mb_id = $_POST['mb_id'];
if(!$mb_id){
$mb_id = $member[mb_id];
}
} </p>
<p>$gr_id = "";
if(!$view){$view = "w";}</p>
<p> $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 ";</p>
<p>$sql = " select count(*) as cnt $sql_common ";
$row = sql_fetch($sql);
$total_count = $row[cnt];</p>
<p>$rows = $config[cf_new_rows];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if (!$page) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함</p>
<p>$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>";</p>
<p>
$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];</p>
<p> 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;</p>
<p> $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);</p>
<p> }
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];</p>
<p> $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);
}</p>
<p> $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;</p>
<p> $list[$i][gr_subject] = $row[gr_subject];
$list[$i][bo_subject] = $row[bo_subject];
$list[$i][wr_subject] = $row2[wr_subject];
}</p>
<p>$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "{$PHP_SELF}?view=$view&page=");</p>
<p>$new_skin_path = "$g5[path]/skin/new/$config[cf_new_skin]";</p>
<p>echo "<script type=\"text/javascript\" src=\"$g5[path]/js/sideview.js\"></script>\n";</p>
<p>?></p>
<p> <!-- 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></p>
<p> <?
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]);</p>
<p> 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;
}
?></p>
<p><? if ($i == 0) { ?>
<tr><td colspan="3" height=50 align=center>게시물이 없습니다.</td></tr>
<? } ?></p>
<p> </table>
<?=$write_pages?></p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
마르스컴퍼니
Expert
5년 전
1) for 문, 원글 부분의 다음 코드를 조금 수정하면 될 듯 합니다.
$row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_id]' ");
->
$row2 = sql_fetch(" select * from $tmp_write_table where (wr_id = '$row[wr_id]' or wr_12 = '$mb_id') ");
2) 상단의 다음 코드는 삭제?? 해야 될 듯 싶습니다.
if ($mb_id)
$sql_common .= " and a.mb_id = '$mb_id' ";
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
더인찌
5년 전
�
마르스컴퍼니
5년 전
그 부분까지는 잘 모르겠습니다.
문제가 있다면.. 로직을 완전히 새로 구성/적용해야 될 것 같기도 합니다.
다만, 조금 복잡할 수 있고.. 새로 등록되는 글부터 적용됩니다. (과거글에도 적용하려면 수동으로 최신글 테이블에 값 insert 필요)
1) 최신글 테이블 (g5_board_new) 에 wr_12 칼럼 추가
2) 게시글 등록 처리페이지(/bbs/write_update.php)에서 최신글 테이블에 insert하는 구문 수정. wr_12 값을 최신글 테이블에도 저장
3) 위 소스의 상단 구문을 다음으로 수정. for문 안은 원 소스로 복원
if ($mb_id)
$sql_common .= " and a.mb_id = '$mb_id' ";
->
if ($mb_id)
$sql_common .= " and (a.mb_id = '$mb_id' or a.wr_12 = '$mb_id') ";
문제가 있다면.. 로직을 완전히 새로 구성/적용해야 될 것 같기도 합니다.
다만, 조금 복잡할 수 있고.. 새로 등록되는 글부터 적용됩니다. (과거글에도 적용하려면 수동으로 최신글 테이블에 값 insert 필요)
1) 최신글 테이블 (g5_board_new) 에 wr_12 칼럼 추가
2) 게시글 등록 처리페이지(/bbs/write_update.php)에서 최신글 테이블에 insert하는 구문 수정. wr_12 값을 최신글 테이블에도 저장
3) 위 소스의 상단 구문을 다음으로 수정. for문 안은 원 소스로 복원
if ($mb_id)
$sql_common .= " and a.mb_id = '$mb_id' ";
->
if ($mb_id)
$sql_common .= " and (a.mb_id = '$mb_id' or a.wr_12 = '$mb_id') ";
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
$row2 = sql_fetch(" select * from $tmp_write_table where (wr_12 = '$mb_id') ");
이렇게 변경했더니 같은 게시글이 13페이지나 생겼습니다.