내가쓴댓글 불러오기 질문드립니다. 채택완료
안녕하세요. 개별 페이지에서 test게시판에 작성한 내 댓글을 불러오고 싶어서요..
<?php
$sql = " select * from g5_write_test where wr_is_comment = 1 and mb_id = '".$member['mb_id']."'";
$result = sql_query($sql);
?>
<?php for ($i=0; $row=sql_fetch_array($result); $i++) { ?>
<div style="margin-bottom:20px">
<p><a href="#">게시글제목 : <?php echo $row['subject'] ?></a></p>
<p>댓글내용 : <?php echo $row['wr_content'] ?></p>
<p>작성일 : <?php echo $row['wr_datetime'] ?></p>
</div>
<?php } ?>
이렇게 하니 잘 나오긴 하는데
댓글쓴 게시글의 제목이 안나옵니다.
wr_subject, subject 둘 다 해도 안나옵니다.
sql로 게시글 정보까지 불러와야 할 것 같은데
방법을 모르겠습니다. 그리고 해당 게시물로 링크값도.. 어떻게 연결을 해야할지..ㅠㅠ
도움 부탁드립니다. ㅠㅠ
답변 2개
for문 안에
</p>
<p>$ori = " select * from g5_write_test where wr_is_comment = 0 and `wr_id` = '".$row['wr_parent']."'";</p>
<p>$ori = sql_fetch($ori);</p>
<p>echo $ori['wr_subject'];</p>
<p>
링크는
</p>
<p>//짧은 주소</p>
<p><a href="/bbs/board.php?bo_table=테이블이름&wr_id="<?php echo $ori['wr_id'];?>>링크</a></p>
<p> </p>
<p>// 긴주소</p>
<p><a href="<?php echo get_pretty_url("테이블이름",$ori['wr_id']);?>">링크</a></p>
<p>
답변에 대한 댓글 8개
<?php for ($i=0; $row=sql_fetch_array($result); $i++) {
$ori = " select * from g5_write_test where wr_is_comment = 0 and wr_id = '".$row['wr_parent']."'";
$ori = sql_fetch($ori);
?>
이런식으로 바꾸셔야합니다.
그리고 링크는 $ori['wr_id'] 가 아니고 $row['wr_parent']로 바꾸셔도 같으니 참고 하시면 되실것 같습니다.
그리고 댓글이 달린 원본글을 찾기 위해서 댓글은 wr_parent 필드에 원본 게시글의 wr_id를 넣어서 이렇게 작성 할수 있습니다.
염치없지만 한가지 더 질문드려도 될까요..ㅎㅎ
<?php
include_once('_common.php');
include_once(G5_THEME_MOBILE_PATH.'/head.php');
$sql = " select * from g5_write_test where wr_is_comment = 1 and mb_id = '".$member['mb_id']."'";
$result = sql_query($sql);
?>
<?php for ($i=0; $row=sql_fetch_array($result); $i++) {
$ori = " select * from g5_write_test where wr_is_comment = 0 and wr_id = '".$row['wr_parent']."'";
$ori = sql_fetch($ori);
?>
<div style="margin-bottom:20px">
<p>게시글제목 : <?php echo $ori['wr_subject'] ?></p>
<p>댓글내용 : <?php echo $row['wr_content'] ?></p>
<p>작성일 : <?php echo $row['wr_datetime'] ?></p>
</div>
<?php } else if (count($row) == 0) { ?>
등록하신 댓글이 없습니다.
<?php } ?>
<?php
include_once(G5_THEME_MOBILE_PATH.'/tail.php');
이런식으로 하니 잘됩니다.
하나 더 만들고 싶은게..
하단에 댓글이 없으면 "등록하신 댓글이 없습니다." 라고 하고 싶은데요
저렇게 하니 댓글이 있을경우 댓글 리스트 밑에 "등록하신 댓글이 없습니다"가 같이 나오더라구요
요 부분 자문을 좀 구해도 될까요..
include_once('_common.php');
include_once(G5_THEME_MOBILE_PATH.'/head.php');
$sql = " select * from g5_write_test where wr_is_comment = 1 and mb_id = '".$member['mb_id']."'";
$result = sql_query($sql);
$com_cnt = sql_num_rows($result);// 댓글이 있는지 확인
if($com_cnt > "0") {
for ($i=0; $row=sql_fetch_array($result); $i++) {
$ori = " select * from g5_write_test where wr_is_comment = 0 and wr_id = '".$row['wr_parent']."'";
$ori = sql_fetch($ori);
?>
<div style="margin-bottom:20px">
<p>게시글제목 : <?php echo $ori['wr_subject'] ?></p>
<p>댓글내용 : <?php echo $row['wr_content'] ?></p>
<p>작성일 : <?php echo $row['wr_datetime'] ?></p>
</div>
<?php } }else{ ?>
등록하신 댓글이 없습니다
<? } ?>
<?php
include_once(G5_THEME_MOBILE_PATH.'/tail.php');
?>
이렇게 해보세요.
하단에 <php } ?>가 하나 빠진것 같아서 아래 처럼 해보았는데 화면이 안나오네요
<?php
include_once('_common.php');
include_once(G5_THEME_MOBILE_PATH.'/head.php');
$sql = " select * from g5_write_test where wr_is_comment = 1 and mb_id = '".$member['mb_id']."'";
$result = sql_query($sql);
$com_cnt = sql_num_row($result);// 댓글이 있는지 확인
if($com_cnt == "0") {
for ($i=0; $row=sql_fetch_array($result); $i++) {
$ori = " select * from g5_write_test where wr_is_comment = 0 and wr_id = '".$row['wr_parent']."'";
$ori = sql_fetch($ori);
?>
<div style="margin-bottom:20px">
<p>게시글제목 : <?php echo $ori['wr_subject'] ?></p>
<p>댓글내용 : <?php echo $row['wr_content'] ?></p>
<p>작성일 : <?php echo $row['wr_datetime'] ?></p>
</div>
<?php } ?>
<?php } else { ?>
등록하신 댓글이 없습니다
<?php } ?>
<?php
include_once(G5_THEME_MOBILE_PATH.'/tail.php');
- sql_num_row -> sql_num_rows 로 변경
- if문을 반대로 써서 맞게 변경 했습니다.
- for 문도 닫는부분 없던것 수정했습니다.
(5시 45분에 최종 수정했으니 그걸로 하심 되실거에요)
댓글을 작성하려면 로그인이 필요합니다.
$sql = " select a.*, b.wr_subject from g5_write_test a inner join g5_write_test b on a.wr_num=b.wr_num where a.wr_is_comment = 1 and a.mb_id = '".$member['mb_id']."'";
$result = sql_query($sql);
답변에 대한 댓글 2개
작성해주신대로 적용해보니
한개는 제목이 나오면서 내용들이 잘 나오고
그 밑에 제목없이 동일한게 한개 더 나옵니다.
$sql = " select a.*, b.wr_subject from g5_write_test a inner join g5_write_test b on a.wr_parent=b.wr_id where a.wr_is_comment = 1 and a.mb_id = '".$member['mb_id']."'";
$result = sql_query($sql);
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
<?php
$sql = " select * from g5_write_test where wr_is_comment = 1 and mb_id = '".$member['mb_id']."'";
$result = sql_query($sql);
$ori = " select * from g5_write_test where wr_is_comment = 0 and wr_id = '".$row['wr_parent']."'";
$ori = sql_fetch($ori);
?>
<?php for ($i=0; $row=sql_fetch_array($result); $i++) { ?>
<div style="margin-bottom:20px">
<p>게시글제목 : <?php echo $ori['wr_subject'] ?></p>
<p>댓글내용 : <?php echo $row['wr_content'] ?></p>
<p>작성일 : <?php echo $row['wr_datetime'] ?></p>
</div>
<?php } ?>
요런식으로 하란말씀이신지요..