for문 오류 관련

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;

 

 

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

회원로그인

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