묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
변수값좀 정리 부탁드립니다.
2003.10.15 14:46
=====================================================================
아래와 같이 계산식을 만들었는데 납기 계수값이 "0"일 때는 전체 계산결과에 필름값만 출력이 됩니다.
계수값이 "0"이면 25,000정도로 필름값만 출력이 되는지라.....
* 전체 ((기본+추가공정선택금액)X특수사양)X층수별납기단축계수+필름값
당연히 납기단축계수가 0을 곱하면 계산결과는 0이 되는데 위와같이 [0+필름값]으로 출력이 되서.....
실지로 납기가 0일이면 제조를 못하는 납기라......
전체 계산된 결과에서 납기단축계수값이 "0"일이면 계산에결에 필름값이 아닌 "별도협의"라는 문구를 삽입하고 싶은데.......
고수님들 부탁드립니다.
이건 사실 제가 만든것이 아니고....또한 php는 완전 문외한이라......
부탁드립니다.
=========================================================================
<?
/*****************************************************************************
* ---- 이전페이지의 입력값이 넘어오는 변수 ----
* 층수 : $floor
* 가로 : $xsize
* 세로 : $ysize
* 수량 : $quantity
* 동박 : $dongbak
* 두께 : $thick
* 재질 : $mental
* 실크 : $silk
* 옵션 : $add_option
*
* ---- 사용되어지는 배열 변수 ----
* 층별추가비용 : $f_num
* 층별추가계수 : $a_num
* 기본단가 : $b_price
* 필름갯수 : $film_num
* 추가공정가격 : $o_price
* 재질계수 : $m_num
*
* ---- 계산되는공식이담겨있는 변수 ----
* 기본단가계산가격 : $price_basic
* 필름계산가격 : $price_film
* 추가공정계산가격 : $price_option
*
* ---- 계산된공식 ----
* 기본 ((가로X세로X층별추가비용)+기본단가)+(가로X세로X층별추가계수X수량)
* 필름 (필름갯수-실크)X(필름단가)
* 특수사양 (동박계수X두께계수X재질계수)
* 전체 ((기본+추가공정선택금액)X특수사양)X층수별납기단축계수+필름값
*****************************************************************************/
////////////////////////////////////////////////////////////////////////////////
// 사용되어지는배열
////////////////////////////////////////////////////////////////////////////////
$f_num=array("",1,1,1,3,5); // 층별추가비용
$a_num=array("",0.1,0.2,0.4,0.6,0.8); // 층별추가계수
$t_num=array("",2,2,1.3,1.3,1.3); // 두께계수
$film_num=array("",3,5,7,9,11); // 층당필름갯수
$m_num=array(1,1,1,1,1,2); // 재질계수 (재질을변화시킬때의 계수값)
$b_price=array("",40000,40000,140000,500000,700000); // 기본단가
$o_price=array(100000,100000,50000,50000,10000,10000,20000,30000,40000,50000); // 추가공정가격
$p_day[1]=array(2,1.5,1,0.9,0.8,0.8); // 1층 납기단축 차례로 1일 2일 3일 4일 5일 이다
$p_day[2]=array(0,1.5,1,0.9,0.8,0.8); // 2층 납기단축
$p_day[3]=array(0,0,1.5,1,0.9,0.8); // 4층 납기단축
$p_day[4]=array(0,0,1.4,1.2,1,0.9); // 6층 납기단축
$p_day[5]=array(0,0,1.4,1.2,1,0.9); // 8층 납기단축
////////////////////////////////////////////////////////////////////////////////
// 견적계산공식
////////////////////////////////////////////////////////////////////////////////
// 사이즈에 30, 40 더하기 124층일때 30 68층일때 40
if($floor==1||$floor==2||$floor==4) {
$xsize=$xsize+30;
$ysize=$ysize+30;
} else {
$xsize=$xsize+40;
$ysize=$ysize+40;
}
// 수량기본4장제한하기 (추가수량-4)
$quantity=$quantity-4;
// ((가로X세로X층별추가비용)+기본단가)+(가로X세로X층별추가계수X수량)
$price_basic=($xsize*$ysize*$f_num[$floor]+$b_price[$floor])+($xsize*$ysize*$a_num[$floor]*$quantity);
// (필름갯수+실크)X5000원
$price_film=($film_num[$floor]+$silk)*5000;
// 동박 계수
$dongbak_num=1;
if($floor==1||$floor==2) {
if($dongbak!=35) {
$dongbak_num=1.2;
}
} else {
if($dongbak!=18) {
$dongbak_num=1.2;
}
}
// 두께 계수
$thick_num=1;
if($floor==1||$floor==2) {
if($thick!=0.8&&$thick!=1.6) {
$thick_num=$t_num[$floor];
}
} else {
if($thick!=1.6) {
$thick_num=$t_num[$floor];
}
}
// 재질계수
$mental_num=$m_num[$mental];
// 추가공정선택금액
for($i=0;$i<9;$i++) {
if($add_option[$i]==1) {
$price_option=$price_option+$o_price[$i];
}
}
// 특수사양 (동박계수X두께계수X재질계수)
$price_num=$dongbak_num*$thick_num*$mental_num;
// 납기일계산후 3자리마다 콤마 넣고 원 붙이기
for($i=0;$i<6;$i++) {
$j=$i+1;
$total_price[$j]=number_format((($price_basic+$price_option)*$price_num)*$p_day[$floor][$i]+$price_film);
if($total_price[$j]==0) {
$total_price[$j]="-";
} else {
$total_price[$j]=$total_price[$j]."원";
}
}
////////////////////////////////////////////////////////////////////////////////
// 화면에 사용되어지는 변수 정리
////////////////////////////////////////////////////////////////////////////////
// 배열변수
$floor_array=array("","1층(단면)","2층(양면)","4층(멀티)","6층(멀티)","8층(멀티)");
$option_array=array("Soldermask색상변경","Silk색상변경","표면카본","무전해도금","단자금도금","V-cut 4줄 이하","V-cut 8줄 이하","V-cut 12줄 이하","V-cut 16줄 이하","V-cut 16줄 초과");
$mental_array=array("기타","페놀","CM-1","CM-3","FR-4","테프론");
// 추가공정에 가격까지붙여주기
for($i=0;$i<9;$i++) {
if($add_option[$i]==1) {
$option.="<br>$option_array[$i] (".number_format($o_price[$i])."원)";
}
}
// 사이즈에 30, 40 빼주기(아까 더해주었으므로..화면에보여주기위해 다시빼준다) 1,2,4층일때 30 6,8층일때 40
if($floor==1||$floor==2||$floor==4) {
$xsize=$xsize-30;
$ysize=$ysize-30;
} else {
$xsize=$xsize-40;
$ysize=$ysize-40;
}
$quantity=$quantity+4; // 수량 - 아까 4빼주었으므로 다시 4 더해준다
$film=$film_num[$floor]; // 필름수량
$floor=$floor_array[$floor]; // 층계
$mental=$mental_array[$mental]; // 재질
// 실크변수
if($silk==-1) {
$silk="없음";
} elseif($silk==0) {
$silk="단면";
} elseif($silk==1) {
$silk="양면";
}
?>
아래와 같이 계산식을 만들었는데 납기 계수값이 "0"일 때는 전체 계산결과에 필름값만 출력이 됩니다.
계수값이 "0"이면 25,000정도로 필름값만 출력이 되는지라.....
* 전체 ((기본+추가공정선택금액)X특수사양)X층수별납기단축계수+필름값
당연히 납기단축계수가 0을 곱하면 계산결과는 0이 되는데 위와같이 [0+필름값]으로 출력이 되서.....
실지로 납기가 0일이면 제조를 못하는 납기라......
전체 계산된 결과에서 납기단축계수값이 "0"일이면 계산에결에 필름값이 아닌 "별도협의"라는 문구를 삽입하고 싶은데.......
고수님들 부탁드립니다.
이건 사실 제가 만든것이 아니고....또한 php는 완전 문외한이라......
부탁드립니다.
=========================================================================
<?
/*****************************************************************************
* ---- 이전페이지의 입력값이 넘어오는 변수 ----
* 층수 : $floor
* 가로 : $xsize
* 세로 : $ysize
* 수량 : $quantity
* 동박 : $dongbak
* 두께 : $thick
* 재질 : $mental
* 실크 : $silk
* 옵션 : $add_option
*
* ---- 사용되어지는 배열 변수 ----
* 층별추가비용 : $f_num
* 층별추가계수 : $a_num
* 기본단가 : $b_price
* 필름갯수 : $film_num
* 추가공정가격 : $o_price
* 재질계수 : $m_num
*
* ---- 계산되는공식이담겨있는 변수 ----
* 기본단가계산가격 : $price_basic
* 필름계산가격 : $price_film
* 추가공정계산가격 : $price_option
*
* ---- 계산된공식 ----
* 기본 ((가로X세로X층별추가비용)+기본단가)+(가로X세로X층별추가계수X수량)
* 필름 (필름갯수-실크)X(필름단가)
* 특수사양 (동박계수X두께계수X재질계수)
* 전체 ((기본+추가공정선택금액)X특수사양)X층수별납기단축계수+필름값
*****************************************************************************/
////////////////////////////////////////////////////////////////////////////////
// 사용되어지는배열
////////////////////////////////////////////////////////////////////////////////
$f_num=array("",1,1,1,3,5); // 층별추가비용
$a_num=array("",0.1,0.2,0.4,0.6,0.8); // 층별추가계수
$t_num=array("",2,2,1.3,1.3,1.3); // 두께계수
$film_num=array("",3,5,7,9,11); // 층당필름갯수
$m_num=array(1,1,1,1,1,2); // 재질계수 (재질을변화시킬때의 계수값)
$b_price=array("",40000,40000,140000,500000,700000); // 기본단가
$o_price=array(100000,100000,50000,50000,10000,10000,20000,30000,40000,50000); // 추가공정가격
$p_day[1]=array(2,1.5,1,0.9,0.8,0.8); // 1층 납기단축 차례로 1일 2일 3일 4일 5일 이다
$p_day[2]=array(0,1.5,1,0.9,0.8,0.8); // 2층 납기단축
$p_day[3]=array(0,0,1.5,1,0.9,0.8); // 4층 납기단축
$p_day[4]=array(0,0,1.4,1.2,1,0.9); // 6층 납기단축
$p_day[5]=array(0,0,1.4,1.2,1,0.9); // 8층 납기단축
////////////////////////////////////////////////////////////////////////////////
// 견적계산공식
////////////////////////////////////////////////////////////////////////////////
// 사이즈에 30, 40 더하기 124층일때 30 68층일때 40
if($floor==1||$floor==2||$floor==4) {
$xsize=$xsize+30;
$ysize=$ysize+30;
} else {
$xsize=$xsize+40;
$ysize=$ysize+40;
}
// 수량기본4장제한하기 (추가수량-4)
$quantity=$quantity-4;
// ((가로X세로X층별추가비용)+기본단가)+(가로X세로X층별추가계수X수량)
$price_basic=($xsize*$ysize*$f_num[$floor]+$b_price[$floor])+($xsize*$ysize*$a_num[$floor]*$quantity);
// (필름갯수+실크)X5000원
$price_film=($film_num[$floor]+$silk)*5000;
// 동박 계수
$dongbak_num=1;
if($floor==1||$floor==2) {
if($dongbak!=35) {
$dongbak_num=1.2;
}
} else {
if($dongbak!=18) {
$dongbak_num=1.2;
}
}
// 두께 계수
$thick_num=1;
if($floor==1||$floor==2) {
if($thick!=0.8&&$thick!=1.6) {
$thick_num=$t_num[$floor];
}
} else {
if($thick!=1.6) {
$thick_num=$t_num[$floor];
}
}
// 재질계수
$mental_num=$m_num[$mental];
// 추가공정선택금액
for($i=0;$i<9;$i++) {
if($add_option[$i]==1) {
$price_option=$price_option+$o_price[$i];
}
}
// 특수사양 (동박계수X두께계수X재질계수)
$price_num=$dongbak_num*$thick_num*$mental_num;
// 납기일계산후 3자리마다 콤마 넣고 원 붙이기
for($i=0;$i<6;$i++) {
$j=$i+1;
$total_price[$j]=number_format((($price_basic+$price_option)*$price_num)*$p_day[$floor][$i]+$price_film);
if($total_price[$j]==0) {
$total_price[$j]="-";
} else {
$total_price[$j]=$total_price[$j]."원";
}
}
////////////////////////////////////////////////////////////////////////////////
// 화면에 사용되어지는 변수 정리
////////////////////////////////////////////////////////////////////////////////
// 배열변수
$floor_array=array("","1층(단면)","2층(양면)","4층(멀티)","6층(멀티)","8층(멀티)");
$option_array=array("Soldermask색상변경","Silk색상변경","표면카본","무전해도금","단자금도금","V-cut 4줄 이하","V-cut 8줄 이하","V-cut 12줄 이하","V-cut 16줄 이하","V-cut 16줄 초과");
$mental_array=array("기타","페놀","CM-1","CM-3","FR-4","테프론");
// 추가공정에 가격까지붙여주기
for($i=0;$i<9;$i++) {
if($add_option[$i]==1) {
$option.="<br>$option_array[$i] (".number_format($o_price[$i])."원)";
}
}
// 사이즈에 30, 40 빼주기(아까 더해주었으므로..화면에보여주기위해 다시빼준다) 1,2,4층일때 30 6,8층일때 40
if($floor==1||$floor==2||$floor==4) {
$xsize=$xsize-30;
$ysize=$ysize-30;
} else {
$xsize=$xsize-40;
$ysize=$ysize-40;
}
$quantity=$quantity+4; // 수량 - 아까 4빼주었으므로 다시 4 더해준다
$film=$film_num[$floor]; // 필름수량
$floor=$floor_array[$floor]; // 층계
$mental=$mental_array[$mental]; // 재질
// 실크변수
if($silk==-1) {
$silk="없음";
} elseif($silk==0) {
$silk="단면";
} elseif($silk==1) {
$silk="양면";
}
?>