CI 묻고 답하기

제목 foreach 문을 2번 사용
카테고리 CI 4 관련
글쓴이 황현빈 작성시각 2020/10/29 13:55:18
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 9397   RSS

ci 2로 개발하고 있습니다.

 

모델에서 db의 테이블을 조회해서 컨트롤러에서 $data['list']에 담고 뷰로 $data를 넘겨주었습니다.

 

뷰에서 foreach 문으로 $list를 돌면서 테이블에 출력했습니다.

정상적으로 출력이 되었는데 같은 뷰 페이지에서 한번더 foreach문으로 $list의 값을 다시 출력하니 읽지를 못하네요

 

foreach문에서 변수를 한번 사용하면 변수가 사라지는 건가요?

 

재 사용하려면 어떻게 해야되나요?

 다음글 ci 모델 쿼리 안에 where in 변수 (5)
 이전글 csrf 문의 드립니다. (8)

댓글

황현빈 / 2020/10/29 14:11:40 / 추천 0

$list를 var_dump를 찍었을때 array(100)이 출력되고 foreach문이 끝나고 다시 var_dump를 찍으니 object(stdClass)#43 이렇게 출력되네요

PureAni / 2020/10/29 14:16:24 / 추천 0
소스코드가 어떻게 되어있나요?
변종원(웅파) / 2020/10/29 14:20:24 / 추천 0
소스 어딘가에서 재선언했을겁니다.
황현빈 / 2020/10/29 14:29:23 / 추천 0
var_dump($list);
        foreach(array_reverse($list) as $key => $list) {
 
          $balance=$balance-$list->withdraw+$list->deposit;
$bankType = $list->bankType;
if ($bankType==null){
$bankType = 'noBankType';
}
$deposit = number_format($list->deposit);
$withdraw = number_format($list->withdraw);
$balance = number_format($balance);
$requisition = number_format($list->requisition);
if ($requisition == 0){
$requisition = '';
}
if ($deposit == 0){
$deposit = '';
}
if ($withdraw == 0){
$withdraw = '';
}
// if ($balance == 0){
// $balance = '';
// }
 
 
 
        ?>
                <tr class="row" name = "<?=$key?>">
                    <input type="hidden" style="color:red" name="idx" value="<?=$list->idx?>" />
                    <td class="noExl"><input type="checkbox" name="delRow"></td>
                    <td scope="row"><input class="input" style="width:100%; text-align:left;" type="text" name="dateOfIssue"
                            value="<?=$list->dateOfIssue?>" maxlength="10" onchange="modifyInput(this);"/></td>
                    <td scope="row"><input class="input" style="width:100%; text-align:left;" type="text" name="fixedDate"
                            value="<?=$list->fixedDate?>" maxlength="10" onchange="modifyInput(this);"/></td>
                    <td scope="row"><input class="input" style="width:100%; text-align:left;" type="text" name="dueDate"
                            value="<?=$list->dueDate?>" maxlength="10" onchange="modifyInput(this);"/></td>
<td scope="row">
        <select id="list_select" style="width:100%; height:100%; text-align:left; border:none;" name="type" onchange="modifyInput(this);"/>
            <option value=""<?if($list->type== null){?>selected<?}?>></option>
            <option value="매입채무"<?if($list->type=="매입채무"){?>selected<?}?>>매입채무</option>
            <option value="매출채권"<?if($list->type=="매출채권"){?>selected<?}?>>매출채권</option>
            <option value="운영비용"<?if($list->type=="운영비용"){?>selected<?}?>>운영비용</option>
        </select>
    </td>
 
<td scope="row">
    <select id="list_select" name="bankType" style="width:100%; height:100%; text-align:left; border:none;" onchange="modifyInput(this);">
        <?php
            if($list->bankType != null){
echo "123";
                echo "<option value=''></option>";
                for($i=0; $i<count($selectBankTypeArr); $i++){
                    echo "<option value='".$selectBankTypeArr[$i]."' ";
                    if(($list->bankType) == ($selectBankTypeArr[$i])){
                            echo "selected='selected'";
                    }
                    echo ">".$selectBankTypeArr[$i]."</option>";
                }
            }else{
                echo "<option value='' selected></option>";
                for($i=0; $i<count($selectBankTypeArr); $i++){
                    echo "<option value='".$selectBankTypeArr[$i]."' ";
                    echo ">".$selectBankTypeArr[$i]."</option>";
                }
            }
        ?>
    </select>
</td>
                    <td scope="row"><input class="input" style="width:100%; text-align:left;" type="text" name="customer"
                            value="<?=$list->customer?>" title="<?=$list->customer?>" onchange="modifyInput(this);"/></td>
                    <td scope="row"><input class="input" style="width:100%; text-align:left;" type="text" name="endUser"
                            value="<?=$list->endUser?>" title="<?=$list->endUser?>" onchange="modifyInput(this);"/></td>
                    <td scope="row"><input class="input" style="width:100%; text-align:left;" type="text" name="breakdown"
                            value="<?=$list->breakdown?>" title="<?=$list->breakdown?>" onchange="modifyInput(this);"/></td>
                    <td scope="row"><input class="input" style="width:70%; text-align:right;" type="text" name="requisition"
                            value="<?=$requisition?>" title="<?=$requisition?>" onchange="modifyInput(this);" onFocus="deCommaStr(this);" onBlur="this.value = commaStr(this.value);" onkeyup="onlyNumber(this);" /></td>
                    <td scope="row"><input class="input" style="width:70%; text-align:right;" type="text" name="deposit"
                            class="deposit" name="money" value="<?=$deposit?>" title="<?=$deposit?>" onchange="calcBalance(); modifyInput(this);" onFocus="deCommaStr(this); oldVal(this);" onBlur="this.value = commaStr(this.value);" onkeyup="onlyNumber(this);" /></td>
                    <td scope="row"><input class="input" style="width:70%; text-align:right;" type="text" name="withdraw"
                            class="withdraw" name="money" value="<?=$withdraw?>" title="<?=$withdraw?>" onchange="calcBalance(); modifyInput(this);" onFocus="deCommaStr(this); oldVal(this);" onBlur="this.value = commaStr(this.value);" onkeyup="onlyNumber(this);"/></td>
                    <td scope="row"><input class="input" style="width:70%; text-align:right;" type="text" name="balance"
                            class="balance" name="money" value="<?=$balance?>" title="<?=$balance?>" onFocus="deCommaStr(this);" onBlur="this.value = commaStr(this.value);" readonly/></td>
                    <td scope="row"><input class="input" style="width:70%; text-align:right;" type="text" name="balance2"
                            class="balance2" name="money" value="<?=$balance?>" title="<?=$balance?>" onFocus="deCommaStr(this);" onBlur="this.value = commaStr(this.value);" readonly/></td>
                </tr>
                </tr>
                <?php
$deposit = filter_var($deposit, 519);
$withdraw = filter_var($withdraw, 519);
$balance = filter_var($balance, 519);
$requisition = filter_var($requisition, 519);
        }
echo "--------------------";
var_dump($list);
         ?>
PureAni / 2020/10/29 14:35:57 / 추천 0

2번째줄에..

foreach(array_reverse($list) as $key => $list) {

라고 되어있네요.