for문 오류 관련

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
for문 오류 관련

QA

for문 오류 관련

본문

for문 안에서 3개 정도 출력 되게 할려고 하는데 무한 루프 걸리는데 어디가 잘못된건지요..

$i 로 추가 하는데 무한루프 걸려서요...

 


    <?php 
    for($i=1; $i<=3; $i++) {
    ?>
    <tr>
        <th scope="row">이미지<?php echo $i ?></th>
        <td>
            <input type="file" name="mb_bn_bimg<?php echo $i ?>">
            <?php
            $mb_bimg_str.$i = "";
            $mb_bimg.$i = G5_DATA_PATH."/banner-main/{$bn['bn_id']}_bg{$i}";
            if (file_exists($mb_bimg.$i) && $bn['bn_id'].'_bg'.$i) {
                $size = @getimagesize($mb_bimg.$i);
                if($size[0] && $size[0] > 750)
                    $width = 750;
                else
                    $width = $size[0];
                echo '<input type="checkbox" name="mb_bn_bimg'.$i.'_del" value="1" id="mb_bn_bimg'.$i.'_del"> <label for="mb_bn_bimg'.$i.'_del">삭제</label>';
                $mb_bimg_str.$i = '<img src="'.G5_DATA_URL.'/banner-main/'.$bn['bn_id'].'_bg'.$i.'" width="'.$width.'">';
            }
            if ($mb_bimg_str.$i) {
                echo '<div class="banner_or_img">';
                echo $mb_bimg_str.$i;
                echo '</div>';
            }
            ?>
            <table class="tbl">
            <tr>
                <th>상품명</th>
                <td><input type="text" name="bimg<?php echo $i ?>_name" value="<?php echo $bn['bimg'.$i.'_name'] ?>" class="frm_input name"></td>
                <th>링크주소</th>
                <td><input type="text" name="bimg<?php echo $i ?>_url" value="<?php echo $bn['bimg'.$i.'_url'] ?>" class="frm_input link"></td>
                <th>상단에서 위치(px)</th>
                <td><input type="text" name="bimg<?php echo $i ?>_position_top" value="<?php echo $bn['bimg'.$i.'_position_top'] ?>" class="frm_input center">px</td>
                <th>우측에서 위치(px)</th>
                <td><input type="text" name="bimg<?php echo $i ?>_position_right" value="<?php echo $bn['bimg'.$i.'_position_right'] ?>" class="frm_input center">px</td>
            </tr>
            </table>
        </td>
    </tr>
    <? } ?>

 

이 부분 삭제하면 루프 안걸리는거 보면.. 이 부분에서 먼가 잘못된거 같아요

 



<?php
            $mb_bimg_str.$i = "";
            $mb_bimg.$i = G5_DATA_PATH."/banner-main/{$bn['bn_id']}_bg{$i}";
            if (file_exists($mb_bimg.$i) && $bn['bn_id'].'_bg'.$i) {
                $size = @getimagesize($mb_bimg.$i);
                if($size[0] && $size[0] > 750)
                    $width = 750;
                else
                    $width = $size[0];
                echo '<input type="checkbox" name="mb_bn_bimg'.$i.'_del" value="1" id="mb_bn_bimg'.$i.'_del"> <label for="mb_bn_bimg'.$i.'_del">삭제</label>';
                $mb_bimg_str.$i = '<img src="'.G5_DATA_URL.'/banner-main/'.$bn['bn_id'].'_bg'.$i.'" width="'.$width.'">';
            }
            if ($mb_bimg_str.$i) {
                echo '<div class="banner_or_img">';
                echo $mb_bimg_str.$i;
                echo '</div>';
            }
            ?>

이 질문에 댓글 쓰기 :

답변 2

무한 루프에 빠진 다는 것은 $i 값이 변경 되어버린다는 거잖아요

이미지1 ~~~  이미지2~~~가 나와야 하는데 두번째 부터 이미지 문구 다음에 무엇이 나오는지 보세요

이 부분이 문제네요

$mb_bimg_str.$i = ""; <----?? 이게 뭐하는 거죠?

 $mb_bimg.$i = G5_DATA_PATH~~~~ <-----?? 이 부분도 마찬가지

 $mb_bimg1, $mb_bimg2 라는 변수를 만든다고 저렇게 한 것 같은데

어떻게 저렇게 만들어 지겠어요? $mb_bimg는 문자 그대로 나오록 $i 에는 1,2,3이 차례로 들어가겠어요?

$mb_bimg[$i] <---위 소스 외  다른 곳에서 사용한다면 배열로 만들든지  아니라면 .$i 없애버리세요

$mb_bimg_str.$i = '<img src~~~ <----- 이부분도 마찬가지

 

저렇게 변수를 만드는 방법은 아래와 같은데 위 소스에서는 이렇게 사용할 수 잇는 것도 아닙니다

$tmp='mb_bimg'.$i;

$$tmp = '1234567';

echo $mb_bimg1;

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 3

회원로그인

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