코드 수정 도움 부탁드립니다.

코드 수정 도움 부탁드립니다.

QA

코드 수정 도움 부탁드립니다.

본문

구매신청 스킨을 받아서 수정중인데요.


<?
for($i=0;$i<($wr_sn_i-1);$i++){
if($w=='u'){
 ?>
 <!--상품 -->
        <tr>
            <th scope="row"><label for="wr_1b">주문내역</label></th>
            <td><?=$s_vg_1[$i]?>    <?=number_format($s_vg_2[$i])?>원 * <?=$s_vg_3[$i]?>개</td>
        </tr>
    <!--상품 -->
<?

}else{
$wr_snn="wr_sn".$i;
$wr_smm="wr_sm".$i;
$wr_sss="wr_s".$i;
$h_1.=",".$$wr_snn;
$h_2.=",".$$wr_smm;
$h_3.=",".$$wr_sss;
?>
 <!--상품  --> 
        <tr>
            <th scope="row"><label for="wr_1b">주문내역</label></th>
            <td><?=$$wr_snn?>    <?=number_format($$wr_smm)?>원 * <?=$$wr_sss?>개</td>
        </tr>
    <!-- 상품 -->
<?
$h_r=$h_r+(($$wr_smm*1)*($$wr_sss*1));
}
}
?>

이 부분이 해결이 안되고 있습니다.

사진처럼 주문내역이 2개씩 나옵니다.

소스대로라면 수정시에는 위에 있는 '주문내역'이 나오고 글 쓰기 시에는 아래에 있는 것이 나와야 정상일 것 같은데요.


49684d991da68d4edecb704c2d110946_1501972929_4449.jpg


이미지처럼 2개씩 나오는 문제 해결할 방법 도움 부탁드립니다.


 

이 질문에 댓글 쓰기 :

답변 3

for 문이 돌아서 그런것 같은데요??

for문을 if문 안에 넣어주세요. 


수정전 : for(조건문){if(조건문){ 주문내역 }}


수정후 : if(조건문){for(조건문){ 주문내역 }}


<?

if($w=='u'){

for($i=0;$i<($wr_sn_i-1);$i++){

 ?>

 <!--상품 -->

        <tr>

            <th scope="row"><label for="wr_1b">주문내역</label></th>

            <td><?=$s_vg_1[$i]?>    <?=number_format($s_vg_2[$i])?>원 * <?=$s_vg_3[$i]?>개</td>

        </tr>

    <!--상품 -->

<?

}

}else{

$wr_snn="wr_sn".$i;

$wr_smm="wr_sm".$i;

$wr_sss="wr_s".$i;

$h_1.=",".$$wr_snn;

$h_2.=",".$$wr_smm;

$h_3.=",".$$wr_sss;

for($i=0;$i<($wr_sn_i-1);$i++){

?>

 <!--상품  --> 

        <tr>

            <th scope="row"><label for="wr_1b">주문내역</label></th>

            <td><?=$$wr_snn?>    <?=number_format($$wr_smm)?>원 * <?=$$wr_sss?>개</td>

        </tr>

    <!-- 상품 -->

<?

$h_r=$h_r+(($$wr_smm*1)*($$wr_sss*1));

}

}

?>

답변 주셔서 감사드립니다.
그런데 알려주신대로 하니까 여전히 2줄이 나오고 가격도 전부 0원으로 나오네요.
for문 안에 if를 두면 2줄이라도 가격은 맞게 나오고요.
귀한 시간 내주셔서 감사합니다.
다른 의견 있으시면 부탁드립니다.

이렇게 하면 될것같네요. 


<?

if($w=='u'){

for($i=0;$i<($wr_sn_i-1);$i++){

?>

 <!--상품 -->

        <tr>

            <th scope="row"><label for="wr_1b">주문내역</label></th>

            <td><?=$s_vg_1[$i]?>    <?=number_format($s_vg_2[$i])?>원 * <?=$s_vg_3[$i]?>개</td>

        </tr>

    <!--상품 -->

<?

}

}else{

$wr_snn="wr_sn".$i;

$wr_smm="wr_sm".$i;

$wr_sss="wr_s".$i;

$h_1.=",".$$wr_snn;

$h_2.=",".$$wr_smm;

$h_3.=",".$$wr_sss;

?>

 <!--상품  --> 

        <tr>

            <th scope="row"><label for="wr_1b">주문내역</label></th>

            <td><?=$$wr_snn?>    <?=number_format($$wr_smm)?>원 * <?=$$wr_sss?>개</td>

        </tr>

    <!-- 상품 -->

<?

$h_r=$h_r+(($$wr_smm*1)*($$wr_sss*1));

}


?>

또 답변 주셔서 감사드립니다.
그런데 같은 현상입니다.
그래서 첫번째 답변을 가지고 아래와 같이 수정해봤습니다.

<?
for($i=0;$i<($wr_sn_i);$i++){
if($w=='u'){
?>
<!--상품 -->
        <tr>
            <th scope="row"><label for="wr_1b">주문내역</label></th>
            <td><?=$s_vg_1[$i]?>&nbsp;&nbsp;&nbsp;&nbsp;<?=number_format($s_vg_2[$i])?>원 * <?=$s_vg_3[$i]?>개</td>
        </tr>
    <!--상품 -->
<?


}else{
$wr_snn="wr_sn".$i;
$wr_smm="wr_sm".$i;
$wr_sss="wr_s".$i;

$h_1.=",".$$wr_snn;
$h_2.=",".$$wr_smm;
$h_3.=",".$$wr_sss;
for($i=1;$i<($wr_sn_i-1);$i++){
?>
<!--상품  -->

        <tr>
            <th scope="row"><label for="wr_1b">주문내역</label></th>
            <td><?=$$wr_snn?>&nbsp;&nbsp;&nbsp;&nbsp;<?=number_format($$wr_smm)?>원 * <?=$$wr_sss?>개</td>
        </tr>
    <!-- 상품 -->
<?

$h_r=$h_r+(($$wr_smm*1)*($$wr_sss*1));
}
}
}
?>

이렇게 하니 처음 주문할때는 정상적으로 나오고 수정할때는 주문내역이 2줄로 나옵니다.
한줄은 전부 0으로 나오고 한줄은 정상적으로 계산이 되어서 나옵니다.
이 부분만 해결이 되면 될것 같은데 for($i=0;$i<($wr_sn_i);$i++) 이부분의 숫자를 조절해보니 수정페이지가 정상으로 나오면 처음 구매페이지가 0으로 나오고 서로 상호관계가 있는 것 같습니다.
참.어렵네요.^^
귀한 시간 답변주셔서 감사드립니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,652 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT