내가쓴댓글 불러오기 질문드립니다.

내가쓴댓글 불러오기 질문드립니다.

QA

내가쓴댓글 불러오기 질문드립니다.

본문

안녕하세요. 개별 페이지에서 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문 안에


$ori = " select * from g5_write_test where wr_is_comment = 0 and `wr_id` = '".$row['wr_parent']."'";
$ori = sql_fetch($ori);
echo $ori['wr_subject'];

 

링크는

 


//짧은 주소
<a href="/bbs/board.php?bo_table=테이블이름&wr_id="<?php echo $ori['wr_id'];?>>링크</a>
 
// 긴주소
<a href="<?php echo get_pretty_url("테이블이름",$ori['wr_id']);?>">링크</a>

답변감사합니다

<?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 } ?>

요런식으로 하란말씀이신지요..

아뇨 ori가 for문 안에 들어가야합니다. ori where이 row인데 for에서 row가 선언 되기 때문에 안으로 넣으셔야 합니다.

<?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_is_comment 필드값 여부(1 - 댓글 ,0 - 게시글)로 댓글인지 게시글인지 구분을 합니다.

그리고 댓글이 달린 원본글을 찾기 위해서 댓글은 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');


이런식으로 하니 잘됩니다.

하나 더 만들고 싶은게..
하단에 댓글이 없으면 "등록하신 댓글이 없습니다." 라고 하고 싶은데요
저렇게 하니 댓글이 있을경우 댓글 리스트 밑에 "등록하신 댓글이 없습니다"가 같이 나오더라구요
요 부분 자문을 좀 구해도 될까요..

<?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); 

조건이 하나 빠졌네요. 이것으로 해 보세요.
$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);

답변을 작성하시기 전에 로그인 해주세요.
전체 110,716 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIR SOFT