구문 오류 좀 봐주세요 ㅠㅠ 채택완료
Copy
if ($_POST['act_button'] == "철회") {
for ($i=0; $i<count($_POST['chk']); $i++) {
// 실제 번호를 넘김
$k = $_POST['chk'][$i];
$it_id = (int) $_POST['it_id'][$k];
$ct_status = $_POST['ct_status2'][$k];
$ct_status2 = '';
$sql = " update {$g5['g5_shop_cart_table']}
set ct_status = '$ct_status',
ct_status2 = '$ct_status2'
where od_id = '$od_id'
and it_id = '$it_id' ";
sql_query($sql);
}
$sql = " select ct_status
from {$g5['g5_shop_cart_table']}
where od_id = '$od_id' ";
$result = sql_query($sql);
$value = '';
while ($row=sql_fetch_array($result)) {
$value .= (($value)? ',' : '').$row['ct_status'];
}
if (!in_array($value,'교환신청') && !in_array($value,'교환중') && !in_array($value,'교환완료') && !in_array($value,'반품신청') && !in_array($value,'반품중') && !in_array($value,'반품완료')) {
$od_return_status = '';
$od_status = $ct_status;
$od_return_memo1 = '';
$od_return_memo2 = '';
$sql2 = " update {$g5['g5_shop_order_table']}
set od_return_memo1 = '$od_return_memo1',
od_return_memo2 = '$od_return_memo2',
od_return_status = '$od_return_status',
od_status = '$od_status'
where od_id = '$od_id' ";
sql_query($sql2);
} else if (!in_array($value,'교환신청') && !in_array($value,'교환중') && !in_array($value,'교환완료')) {
$od_return_memo1 = '';
$sql2 = " update {$g5['g5_shop_order_table']}
set od_return_memo1 = '$od_return_memo1',
where od_id = '$od_id' ";
sql_query($sql2);
} else if (!in_array($value,'반품신청') && !in_array($value,'반품중') && !in_array($value,'반품완료')) {
$od_return_memo2 = '';
$sql2 = " update {$g5['g5_shop_order_table']}
set od_return_memo2 = '$od_return_memo2',
where od_id = '$od_id' ";
sql_query($sql2);
}
}
여기서 $value 값을 찍어보면
교환신청,교환신청,완료
이렇게 나옵니다.
그러면
else if (!in_array($value,'반품신청') && !in_array($value,'반품중') && !in_array($value,'반품완료'))
이 조건으로 들어가야 하는데
if (!in_array($value,'교환신청') && !in_array($value,'교환중') && !in_array($value,'교환완료') && !in_array($value,'반품신청') && !in_array($value,'반품중') && !in_array($value,'반품완료')) {
이 조건으로 들어가버립니다
뭐가 문제일까요? ㅠㅠ
답변 3개
채택된 답변
+20 포인트
답변에 대한 댓글 2개
5년 전
5년 전
이렇게 할 경우
if (!preg_match('[교환신청|교환중|교환완료|반품신청|반품중|반품완료]',$value)) {
$od_return_status = '';
$od_status = $ct_status;
$od_return_memo1 = '';
$od_return_memo2 = '';
$sql2 = " update {$g5['g5_shop_order_table']}
set od_return_memo1 = '$od_return_memo1',
od_return_memo2 = '$od_return_memo2',
od_return_status = '$od_return_status',
od_status = '$od_status'
where od_id = '$od_id' ";
sql_query($sql2);
} elseif (!preg_match('[교환신청|교환중|교환완료]',$value)) {
$od_return_memo1 = '';
$sql2 = " update {$g5['g5_shop_order_table']}
set od_return_memo1 = '$od_return_memo1',
where od_id = '$od_id' ";
sql_query($sql2);
} elseif (!preg_match('[반품신청|반품중|반품완료]',$value)) {
$od_return_memo2 = '';
$sql2 = " update {$g5['g5_shop_order_table']}
set od_return_memo2 = '$od_return_memo2',
where od_id = '$od_id' ";
sql_query($sql2);
}
맨 위 것은 조건에 맞을 시 동작을 하는데
아래 것은 동작을 하지 않아요 잘못 넣은건가요?
if (!preg_match('[교환신청|교환중|교환완료|반품신청|반품중|반품완료]',$value)) {
$od_return_status = '';
$od_status = $ct_status;
$od_return_memo1 = '';
$od_return_memo2 = '';
$sql2 = " update {$g5['g5_shop_order_table']}
set od_return_memo1 = '$od_return_memo1',
od_return_memo2 = '$od_return_memo2',
od_return_status = '$od_return_status',
od_status = '$od_status'
where od_id = '$od_id' ";
sql_query($sql2);
} elseif (!preg_match('[교환신청|교환중|교환완료]',$value)) {
$od_return_memo1 = '';
$sql2 = " update {$g5['g5_shop_order_table']}
set od_return_memo1 = '$od_return_memo1',
where od_id = '$od_id' ";
sql_query($sql2);
} elseif (!preg_match('[반품신청|반품중|반품완료]',$value)) {
$od_return_memo2 = '';
$sql2 = " update {$g5['g5_shop_order_table']}
set od_return_memo2 = '$od_return_memo2',
where od_id = '$od_id' ";
sql_query($sql2);
}
맨 위 것은 조건에 맞을 시 동작을 하는데
아래 것은 동작을 하지 않아요 잘못 넣은건가요?
댓글을 작성하려면 로그인이 필요합니다.
5년 전
참고해서 사용하세요~
Copy
<?php
$value1 = array('교환신청','교환중','교환완료','반품신청','반품중','반품완료');
$value2 = array('교환신청','교환중','교환완료');
$value3 = array('반품신청','반품중','반품완료');
$value = array('0','1','2','3','반품중','교환완료');
for($i=0; $i<count($value); $i++) {
if (!in_array($value[$i], $value1)) { //없으면 카운트
echo"Type1 $value[$i] <br>";
} elseif (!in_array($value[$i], $value2)) { //없으면 카운트
echo"Type2 $value[$i] <br>";
} elseif (!in_array($value[$i], $value3)) { //없으면 카운트
echo"Type3 $value[$i] <br>";
}
}
?>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
이렇게 하면 되나요?