구문 오류 좀 봐주세요 ㅠㅠ 채택완료
블랑숑
5년 전
조회 1,248
</p>
<p>if ($_POST['act_button'] == "철회") {</p>
<p> for ($i=0; $i<count($_POST['chk']); $i++) {</p>
<p> // 실제 번호를 넘김
$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);
}</p>
<p> $sql = " select ct_status
from {$g5['g5_shop_cart_table']}
where od_id = '$od_id' ";
$result = sql_query($sql);</p>
<p> $value = '';
while ($row=sql_fetch_array($result)) {
$value .= (($value)? ',' : '').$row['ct_status'];
}</p>
<p> if (!in_array($value,'교환신청') && !in_array($value,'교환중') && !in_array($value,'교환완료') && !in_array($value,'반품신청') && !in_array($value,'반품중') && !in_array($value,'반품완료')) {</p>
<p> $od_return_status = '';
$od_status = $ct_status;
$od_return_memo1 = '';
$od_return_memo2 = '';</p>
<p> $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);</p>
<p> } else if (!in_array($value,'교환신청') && !in_array($value,'교환중') && !in_array($value,'교환완료')) {</p>
<p> $od_return_memo1 = '';</p>
<p> $sql2 = " update {$g5['g5_shop_order_table']}
set od_return_memo1 = '$od_return_memo1',
where od_id = '$od_id' ";
sql_query($sql2);</p>
<p> } else if (!in_array($value,'반품신청') && !in_array($value,'반품중') && !in_array($value,'반품완료')) {</p>
<p> $od_return_memo2 = '';</p>
<p> $sql2 = " update {$g5['g5_shop_order_table']}
set od_return_memo2 = '$od_return_memo2',
where od_id = '$od_id' ";
sql_query($sql2);</p>
<p> }</p>
<p>}</p>
<p>
여기서 $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년 전
참고해서 사용하세요~
</p>
<p><?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]
";
} elseif (!in_array($value[$i], $value2)) { //없으면 카운트
echo"Type2 $value[$i]
";
} elseif (!in_array($value[$i], $value3)) { //없으면 카운트
echo"Type3 $value[$i]
";
}
}
?></p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
블랑숑
5년 전
감사합니다 ㅠㅠ
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
이렇게 하면 되나요?