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

로그인시 업데이트문 실행관련 추가질문드려봅니다. 채택완료

용미엘 2년 전 조회 1,500

조금전에 로그인시 날짜를 비교하여 업데이트문을 실행시키고싶다고 질문을 올렸습니다.

어느부분에서 작동시키는지는 잘 알려주셔서 코드를 작성해보았으나 아직 초보라;; 코드짜기가 조금 어려워 질문드립니다.

 

</p>

<p>$result = sql_query("select * from g5_write_program");

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

            

            $date_now = date("Y-m-d");

            $en_date = $row['wr_en_date'];</p>

<p>            if($date_now > $en_date){

            $sql_program = "update g5_write_program set wr_1 = '3'";

            sql_query($sql_program);

        }</p>

<p>}</p>

<p>

 

g5_write_program 안에있는 wr_en_date 컬럼을 현재일자와 비교해서 과거면 wr_1 컬럼의 값을 3으로 조정려고합니다.

 

현재 이것저것 해보고있으나 해당되는 행 뿐만아니라 모든 행의 wr_1값이 모두 3으로 변경되어 도움을 요청드립니다.

 

해당되는 행의 컬럼값만 변경하고자하면 어떻게 수정해야될지;; 조언부탁드립니다.

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

답변 2개

채택된 답변
+20 포인트
2년 전

</p>

<pre>
<code>$sql_program = "update g5_write_program set wr_1 = '3' WHERE wr_id = '".$row['wr_id']."'";</code></pre>

<p>

이런식으로 해당 글을 지정해주면 됩니다.

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

답변에 대한 댓글 2개

개노미
2년 전
조금 더 말씀드리자면
[code]
$sql = "UPDATE g5_write_program SET wr_1 = '3' WHERE wr_en_date < NOW()"
sql_query($sql);
[/code]
이렇게 한방에 하실 수도 있을 듯..
용미엘
2년 전
선생님, 진심으로 감사드립니다. 덕분에 해결하였고 잘 배웠습니다. 감사합니다.

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

굳이 update 안 하고

select * ,

if(wr_en_date< now(), 3, wr_1) wr_1

from g5_write_program

이렇게 하는 것도 가능합니다

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

답변에 대한 댓글 1개

용미엘
2년 전
감사합니다.

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

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

로그인