채택완료

필드값 비교후 큰값 적용하기

2018-08-03 (금) 16:46:22 2,839

1889717659_1533281900.4162.jpg

위 이미지에서 총중량(wr_weight)과 부피 중량(wr_10)이 있습니다.

기본적으로 총중량값에 따라 배송대행 예상금액이 계산되게 되어있습니다.

만약에

총중량 값과 부피중량 값을 비교했을때 만약 부피중량 값이 크면

총중량 필드에 부피중량 값이 적용되게 하려면 어떻게 해야 하는지

Copy
if($wr_weight < $wr_10){
 $wr_weight  = $wr_10 ;
 $sql = "update $write_table set wr_weight='$wr_weight' where wr_id='$wr_id'";

}
sql_query($sql);

이렇게 하면 안되겠죠...

안되더라구요 ㅠㅠ

완전 초보라 있는걸 응용하는 정도밖에 못해서 문의 드립니다.

|

답변 2개 / 댓글 4개

채택된 답변
+20 포인트

if(floatval($wr_weight) < floatval($wr_10)){

이렇게 해보세요.

답변에 대한 댓글 3개

알려주신대로 하면 값은 넘어가는데 계산은 wr_weight 필드에 있는 값으로 계산이 됩니다.

그러니까
wr_10의 값이 10 이고
wr_weight 값이 9 이면

계산식에는 적용 9 * 65118 원으로 계산이 됩니다.

왜 그런걸까요?

계산식은
[code]
if(($wr_weight >= 20) && ($wr_weight <= 44)){
$wr_totprice = $wr_weight * 4725 ;
$sql = "update $write_table set wr_totprice='$wr_totprice' where wr_id='$wr_id'";
}else if(($wr_weight > 9) && ($wr_weight <= 9.5)){
$wr_totprice = $wr_weight * 65118 ;
$sql = "update $write_table set wr_totprice='$wr_totprice' where wr_id='$wr_id'";

}else if(($wr_weight > 9.5) && ($wr_weight <= 10)){
$wr_totprice = $wr_weight * 66673 ;
$sql = "update $write_table set wr_totprice='$wr_totprice' where wr_id='$wr_id'";}
sql_query($sql);
[/code]

이런식으로 구간별로 나눠져 있습니다.
비교문 전에

$wr_10 = floatval($wr_10);
$wr_weight = floatval($wr_weight);

이렇게 float 형으로 변경해보시기 바랍니다.
$wr_10 = floatval($wr_10);
$wr_weight = floatval($wr_weight);

적용이 안됩니다. 왜 그럴까요 ㅠㅠ

어떻게 안되시는건가요?

DB 쿼리에서 에러가 발생하시나요?

데이터가 짤림현상이 발생하시나요?

쿼리문이랑은 딱히 문제가 없어보입니다.

단지, DB Field 의 설정값에 따라 발생하는 문제가 가장 크게 예상됩니다.

답변에 대한 댓글 1개

감사합니다.

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