로그인할때 장바구니 비우가 코드가 안먹혀요..도움을 요청합니다. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

로그인할때 장바구니 비우가 코드가 안먹혀요..도움을 요청합니다. 정보

로그인할때 장바구니 비우가 코드가 안먹혀요..도움을 요청합니다.

본문

마이앨범(Mypics)에서 사진바구니(장바구니) 버튼을 클릭하면,
1. 마이앨범 테이블(Mypics)의 wr_10에 1을 기록하고,
2.사진바구니 즉 장바구니에 테이블(Cart)로 그대로 복사합니다.
  가. 복사할 때 10일의 값을 계산하여 Cart의 wr_nogood에 10일 뒤의 날짜를 저장합니다.
  나. 복사할 때 복사되는 Mypics의 wr_id값을 Cart의 wr_5에다가 저장시켜놓습니다.

그리고 10일뒤에 로그인을 하면 10일이 지난 사진바구니 목록을 지우기 위하여 login_check.php 파일 아랫부분에 다음과 같은 코드를 넣어놓았습니다.

//사진바구니(Cart)지우고, 마이앨범(Mypics)의 wr_10 비우기
//미해결:wr_10이 하나만 지워짐.
$today= date("y-m-d", $g4[server_time]);

//사진바구니의 wr_nogood이 10일을 경과했는지 체크
$rowk=sql_fetch("select count(*) as cnt from g4_write_Cart where wr_is_comment ='0' and wr_nogood < '$today' ");

//경과한 것이 있다면
if($rowk[cnt]){

//사진바구니의 wr_5 ( 해당 마이앨범(Mypics)의 게시물의 wr_id 값과 같음) 을 가져오기
  $row_info = sql_fetch("select wr_5 from g4_write_Cart where wr_is_comment ='0' and wr_nogood < '$today'");

// 사진바구니(Cart) 테이블의 wr_5값과 마이앨범(Mypics)테이블의 wr_id값이 같은 마이앨범(Mypics) 게시물의 wr_10값을 비워라.
  sql_query(" update g4_write_Mypics set wr_10 = '' where wr_is_comment ='0' and wr_id = '$row_info[wr_5]' and wr_nogood < '$today' ");


// 사진바구니(Cart) 테이블에서 wr_nogood이 10일이 지났으면 모조리 삭제
  sql_query(" delete from g4_write_Cart where wr_is_comment ='0' and wr_nogood < '$today' ");

}

왜 Mypics의 wr_10 값을 비우는가하면요.. wr_10 값이 1이면 마이앨범에서 "사진바구니에 담김"이라고 표시해주고요 2가 기록되면요 "구매사진"으로 표시되고요. 3이 기록되면.. 이런식으로 현재 상태를 마이앨범에서 표시해주고 있거든요.. 그래서 반드시 비워야 해요..

현재 안되는것은
wr_10값을 비우는 코드입니다.  사진바구니의 게시물은 10일이 경과된 게시물들은 모조리 다 잘 지워주고 있는데.. 이상하게 마이앨범(Mypics)의 해당게시물의 wr_10을 비우는 건 딱 한개만 되고 잇어요..
세개를 사진바구니에 담았다면.. 마이앨범(Mypics)에서 세개의 게시물 모두 wr_10을 비워야 정상인데, Cart 테이블은 모두 지워지는데,  Mypics테이블에서는 딱 1개의 게시물만 wr_10이 없어지네요.

코드 어디가 잘못된것인지.. 고수님들 한번만 보아주세요... 부탁드립니다.

댓글 전체

$row_info <= count 로 갯수 세어서 for 문으로 해보세요

//사진바구니의 wr_5 ( 해당 마이앨범(Mypics)의 게시물의 wr_id 값과 같음) 을 가져오기
$row_info = sql_fetch("select wr_5 from g4_write_Cart where wr_is_comment ='0' and wr_nogood < '$today'");

// 사진바구니(Cart) 테이블의 wr_5값과 마이앨범(Mypics)테이블의 wr_id값이 같은 마이앨범(Mypics) 게시물의 wr_10값을 비워라.
  sql_query(" update g4_write_Mypics set wr_10 = '' where wr_is_comment ='0' and wr_id = '$row_info[wr_5]' and wr_nogood < '$today' ");
// 사진바구니(Cart) 테이블의 wr_5값과 마이앨범(Mypics)테이블의 wr_id값이 같은 마이앨범(Mypics) 게시물의 wr_10값을 비워라.
  sql_query(" update g4_write_Mypics set wr_10 = '' where wr_is_comment ='0' and wr_id = '$row_info[wr_5]' and wr_nogood < '$today' ");

에서

 and wr_nogood < '$today' 이 조건은 왜 들어갔나요?
wr_nogood 필드는 g4_write_Cart 에서만 사용할려고 한 것 같아 보이는데..

g4_write_Mypics에서 검사되어야 하는 조건이 맞나요?
그리고
$row_info = sql_fetch("select wr_5 from g4_write_Cart where wr_is_comment ='0' and wr_nogood < '$today'");
이코드대로 라면 여러개의 wr_5가 나올 수 있으니 뽁스님 말씀처림 반복처리도 필요 할 듯 하네요..
mysql 4.1x 이상 버전이라면

//사진바구니의 wr_5 ( 해당 마이앨범(Mypics)의 게시물의 wr_id 값과 같음) 을 가져오기
$row_info = sql_fetch("select wr_5 from g4_write_Cart where wr_is_comment ='0' and wr_nogood < '$today'");
이코드는 필요없이

sql_query(" update g4_write_Mypics set wr_10 = '' where wr_id in (select wr_5 from g4_write_Cart where wr_is_comment ='0' and wr_nogood < '$today')");
이렇게 실행해도 될 것 같네요..
전체 4,015 |RSS
그누4 질문답변 내용 검색

회원로그인

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