테스트 사이트 - 개발 중인 베타 버전입니다

댓글에서 원글 구하는 법을 알고싶습니다 채택완료

janedoe 7년 전 조회 2,303

댓글을 달고 일정시간이 지난 원글을 찾아서 삭제하는건데요 

1.어떤 조건의 댓글을 찾는다

2. 찾은 댓글의 wr_parent와 wr_id 가 같은 글을 찾아서 삭제한다.

이렇게 sql문을 만들려고 하는데 

제가 작성한 sql 문 좀 봐주세요. 

sql꿈나무가 되고싶습니다 

 

$find_jy="select wr_parent from ".$g5['write_prefix'].$tbo_table." where wr_datetime > date_add(now(), interval -1 day) and wr_is_comment =1 ";

     $result_jy=sql_query($find_jy)  ;

      for ($i=0; $row=sql_fetch_array($result_jy); $i++) {

     sql_query(" delete from ".$g5['write_prefix'].$tbo_table." where wr_id= $result_jy ");

   

      }</p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 3개

채택된 답변
+20 포인트
플래토
7년 전

for 문 안에

$result_jy 로 받은 변수를 직접사용하면 

배열 자체가 되서 오류납니다.

 

위에서 조회한 컬럼명을 적으셔야죠

sql문제가 아니라 PHP 로 받은 배열값을 체크하지 않은 문법 오류입니다

 

$result_jy['wr_parent']

로 변경해보세요

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

j
janedoe
7년 전
감사합니다 ㅠㅠㅠㅠ 이러면서 배우려니 하는데 참 어렵네요
j
janedoe
7년 전
$row=sql_fetch_array($result_jy) 이렇게 받았으니 $row['wr_parent'] 이렇게 쓰는게 맞지 않을까요? 잘 모르지만 혹시나 해서 질문드립니다
플래토
7년 전
@janedoe 네
sql_fetch_array() 류의 함수로 호출후 리턴받은값을 받으면

그 변수를 사용하는게 맞습니다.

$row = sql_fetch_array ($result_jy) 를 수신했으니
말씀하신 방법이 맞습니다.

$row안에 쿼리의 실행결과가 순환될때마다 다음 Row를 읽어서 값을 가져오게 됩니다.

답변에서 강조하려고했던것은 필드의 접근이 없던것이었습니다.

댓글을 작성하려면 로그인이 필요합니다.

해피정
7년 전

http://www.happyjung.com/lecture/2621" target="_blank">http://www.happyjung.com/lecture/2621   참고하세요.

게시글 삭제후 게시글수 정보도 업데이트를 해야합니다.

안하면 글번호가 엉킬수 있습니다.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

7년 전

</p>

<p>$find_jy="select * from ".$g5['write_prefix'].$tbo_table." where wr_datetime > date_add(now(), interval -1 day) and wr_is_comment =1"; 

$result_jy=sql_query($find_jy);</p>

<p>while($row=sql_fetch_array($result_jy))

    sql_query(" delete from ".$g5['write_prefix'].$tbo_table." where wr_parent= {$result_jy['wr_parent']} ");</p>

<p>

 

이렇게 하시면 될 듯 합니다

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

j
janedoe
7년 전
$row=sql_fetch_array($result_jy) 이렇게 받았으니 $row['wr_parent'] 이렇게 쓰는게 맞지 않을까요? 잘 모르지만 혹시나 해서 질문드립니다
하찌
7년 전
제가 실수했네요..
$row['wr_parent'] 가 맞습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인