게시물 댓글과 대댓글을 글쓴이와 댓글 쓴 사람만 볼 수 있도록 하려고 합니다. 채택완료
재미니다
1년 전
조회 1,704
안녕하세요.
제목처럼 댓글과 대댓글을 글쓴이와 댓글 쓴 사람만 열람할 수 있도록 하려고 하는데요.
그누스터디 강좌(https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=129)를 보고 똑같이 적용해봤습니다만
댓글은 정상적으로 작동되는데 대댓글의 경우 출력 되지 않습니다ㅜㅜ
챗gpt로 이것 저것 다 해봤는데 원하는 답을 못 찾아서 이렇게 질문을 드려봅니다.
아래는 뷰 코멘트 파일 코드입니다.
</p>
<p><div class="view_com_list"></p>
<p> <ul class="view_com_list_ul"></p>
<p> <?php</p>
<p> $cmt_amt = count($list);</p>
<p> for ($i=0; $i<$cmt_amt; $i++) {</p>
<p> if(!$is_admin && $list[$i]['mb_id'] != $member['mb_id'] && $write['mb_id'] != $member['mb_id']) continue;</p>
<p> $comment_id = $list[$i]['wr_id'];</p>
<p> $cmt_depth = strlen($list[$i]['wr_comment_reply']) * 20;</p>
<p> $comment = $list[$i]['content'];</p>
<p> $comment = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp|mms)\:\/\/([^[:space:]]+)\.(mp3|wma|wmv|asf|asx|mpg|mpeg)\".*\<\/a\>\]/i", "<script>doc_write(obj_movie('$1://$2.$3'));</script>", $comment);</p>
<p> $cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결</p>
<p> $c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w';</p>
<p> $c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w';</p>
<p> $is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0;</p>
<p> ?></p>
<p> <li class="a_comment" id="c_<?php echo $comment_id ?>" <?php if ($cmt_depth) { ?>style="margin-left:<?php echo $cmt_depth ?>px;border-top-color:#e0e0e0"<?php } ?>></p>
<p> <div class="box"></p>
<p> <div class="top"></p>
<p> <div class="thum"><?php echo get_member_profile_img($list[$i]['mb_id']) ?></div></p>
<p> <div class="name"><?php echo $list[$i]['name'] ?></div></p>
<p> <div class="date"><?php echo $list[$i]['datetime'] ?></div></p>
<p> </div></p>
<p> <div class="cont"></p>
<p> <?php echo $comment ?></p>
<p> </div></p>
<p> <?php if($is_comment_reply_edit){ ?></p>
<p> <ul class="btn_basic_ul"></p>
<p> <?php if ($list[$i]['is_reply']) { ?><li class="btn_basic xsml bd"><a class="ab" href="<?php echo $c_reply_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'c'); return false;">답변</a></li><?php } ?></p>
<p> <?php if ($list[$i]['is_edit']) { ?><li class="btn_basic xsml bd"><a class="ab" href="<?php echo $c_edit_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'cu'); return false;">수정</a></li><?php } ?></p>
<p> <?php if ($list[$i]['is_del']) { ?><li class="btn_basic xsml bd"><a class="ab" href="<?php echo $list[$i]['del_link']; ?>" onclick="return comment_delete();">삭제</a></li><?php } ?></p>
<p> </ul></p>
<p> <?php } ?></p>
<p> <span id="edit_<?php echo $comment_id ?>" class="bo_vc_w"></span><!-- 수정 --></p>
<p> <span id="reply_<?php echo $comment_id ?>" class="bo_vc_w"></span><!-- 답변 --></p>
<p> <input type="hidden" value="<?php echo strstr($list[$i]['wr_option'],"secret") ?>" id="secret_comment_<?php echo $comment_id ?>"></p>
<p> <textarea id="save_comment_<?php echo $comment_id ?>" style="display:none"><?php echo get_text($list[$i]['content1'], 0) ?></textarea></p>
<p> </div></p>
<p> </li></p>
<p> <?php } ?></p>
<p> <?php if ($i == 0) { //댓글이 없다면 ?><p id="bo_vc_empty">등록된 댓글이 없습니다.</p><?php } ?></p>
<p> </ul></p>
<p> <nav class="pg_wrap" id="cmt_paging"></nav></p>
<p></div></p>
<p>
어떻게 해야 대댓글까지 정상적으로 보일 수 있을지 조언 좀 얻고 싶습니다!
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
답변에 대한 댓글 1개
�
재미니다
1년 전
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
알려주신 조건문을 아래처럼 li요소를 감싸보니 글쓴이는 자기 자신이 쓴 댓글, 대댓글밖에 보이지가 않습니다. 제가 잘 못 감쌌을까요?
[code]
<?php
$cmt_amt = count($list);
for ($i=0; $i<$cmt_amt; $i++) {
if(!$is_admin && $list[$i]['mb_id'] != $member['mb_id'] && $write['mb_id'] != $member['mb_id']) continue;
$comment_id = $list[$i]['wr_id'];
$cmt_depth = strlen($list[$i]['wr_comment_reply']) * 20;
$comment = $list[$i]['content'];
$comment = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp|mms)\:\/\/([^[:space:]]+)\.(mp3|wma|wmv|asf|asx|mpg|mpeg)\".*\<\/a\>\]/i", "<script>doc_write(obj_movie('$1://$2.$3'));</script>", $comment);
$cmt_sv = $cmt_amt - $i + 1; // 댓글 헤더 z-index 재설정 ie8 이하 사이드뷰 겹침 문제 해결
$c_reply_href = $comment_common_url.'&c_id='.$comment_id.'&w=c#bo_vc_w';
$c_edit_href = $comment_common_url.'&c_id='.$comment_id.'&w=cu#bo_vc_w';
$is_comment_reply_edit = ($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) ? 1 : 0;
?>
<?php if($list[$i]['mb_id'] == $member['mb_id'] || $is_admin ){ ?>
<li class="a_comment" id="c_<?php echo $comment_id ?>" <?php if ($cmt_depth) { ?>style="margin-left:<?php echo $cmt_depth ?>px;border-top-color:#e0e0e0"<?php } ?>>
<div class="box">
<div class="top">
<div class="thum"><?php echo get_member_profile_img($list[$i]['mb_id']) ?></div>
<div class="name"><?php echo $list[$i]['name'] ?></div>
<div class="date"><?php echo $list[$i]['datetime'] ?></div>
</div>
<div class="cont">
<?php echo $comment ?>
</div>
<?php if($is_comment_reply_edit){ ?>
<ul class="btn_basic_ul">
<?php if ($list[$i]['is_reply']) { ?><li class="btn_basic xsml bd"><a class="ab" href="<?php echo $c_reply_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'c'); return false;">답변</a></li><?php } ?>
<?php if ($list[$i]['is_edit']) { ?><li class="btn_basic xsml bd"><a class="ab" href="<?php echo $c_edit_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'cu'); return false;">수정</a></li><?php } ?>
<?php if ($list[$i]['is_del']) { ?><li class="btn_basic xsml bd"><a class="ab" href="<?php echo $list[$i]['del_link']; ?>" onclick="return comment_delete();">삭제</a></li><?php } ?>
</ul>
<?php } ?>
<span id="edit_<?php echo $comment_id ?>" class="bo_vc_w"></span><!-- 수정 -->
<span id="reply_<?php echo $comment_id ?>" class="bo_vc_w"></span><!-- 답변 -->
<input type="hidden" value="<?php echo strstr($list[$i]['wr_option'],"secret") ?>" id="secret_comment_<?php echo $comment_id ?>">
<textarea id="save_comment_<?php echo $comment_id ?>" style="display:none"><?php echo get_text($list[$i]['content1'], 0) ?></textarea>
</div>
</li>
<?php } else { ?>
<?php if ($i == 0) { //댓글이 없다면 ?><p id="bo_vc_empty">등록된 댓글이 없습니다.</p><?php } ?>
<?php } ?>
<?php } ?>
[/code]