쉽지 않아 질문드려요
본문
g5_write_shipping게시판에 글을 쓰면
g5_shipping테이블에 별도의 데이터가 저장됩니다. shipping 게시판의
wr_id값 no
223 1
223 2
223 3
이런식으로요,,,
그런데
aaa게시판에서 업데이트할때
g5_shipping테이블에도 업데이트를 위해
if($w=='u' && $write[wr_210] && $write[wr_261]){
sql_query("update g5_shipping set is_arrival='$wr_261' where wr_id = '$write[wr_212]' ");
} //wr_212는 g5_shipping테이블의 wr_id값과 같습니다.
위 코드로 했는데 잘 됩니다. 그런데 문제는
wr_261이 분할필드인데...
g5_shipping의 is_arrival 에 |○|○|○|○||||||||||||||||||||||||||| 이렇게 몽조리 들어간다는 겁니다.
당연한 거지많요 ㅋ
where wr_id = '$wr_id' and no
이런 식으로 해서
wr_261분할 첫번째는 wr_id의 no 1에
두번째는 2에
이렇게 들어가게 하고 싶습니다.
*aaa게시판의 wr_212는 g5_shipping테이블의 wr_id값과 같습니다.
답변 3
업데이트시 wr_261 기존갯수에서 추가되거나 삭제되는것이 없이 수정만 가능한거면 아래코드로 하시면 될겁니다.
if($w=='u' && $write[wr_210] && $write[wr_261]){
$wr_261=explode("|",$wr_261);
for($i=1;$i<=count($wr_261);$i++)){
sql_query("update g5_shipping set is_arrival='$wr_261[$i]' where wr_id = '$write[wr_212]' and no='{$i}'");
}
}
하지만 어느 한개의 no 가 삭제될수 있는경우면 form 에서 따로 수정할 no 들의 데이타도 같이 보내오고 받은 no 에 대해서만 처리하게 해야됩니다.
원하는 효과가 맞는진 모르겠지만 참고해보세요.
if($w=='u' && $write[wr_210] && $write[wr_261]){
sql_query("delete from g5_shipping where wr_id='$write[wr_212]'");
$wr_261=explode("|",$wr_261);
for($i=0;$i<count($wr_261);$i++)){
if($wr_261[$i]){
sql_query("insert into g5_shipping set is_arrival='$wr_261[$i]', wr_id = '$write[wr_212]' ");
}
}
}
wr_261 필드는 |○||○|○||||||||||||||||||||||||||| 이렇게 첫번째 [1] [3] [4] 필드에 들어가 있는데
순서없이 이미지처럼 no5, 6, 7에 ○ 들어와 있습니다. (no5, 6, 7은 생성되지 않아야 하구요..)
wr_id 221486 no 1 ○
no 2
no 3 ○
no 4 ○
이런식으로 들어와야 하는데요,,,