CI 묻고 답하기

제목 같은 db 데이터로 view에서 foreach문 두번 돌리는데 두번째 foreach문이 안나와요!
글쓴이 작성시각 2014/11/27 10:46:55
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 18096   RSS
model에서 controller를 거쳐 data를 받아와서 view에서 foreach문을 두번 실행해야하는데
첫번째 것은 잘 나오는데 두번째 같은 data로 foreach문을 돌리면 결과가 안나오네요...
첫번째 foreach문 돌리기 전에 var_dump()해보면 모든데이터가 다 나옵니다. 근데 두번째 foreach문 돌리기 전에 
var_dump()해보면 한개의 데이터만 나오네요..
그리고 첫번째 foreach문을 다 없애고 두번째 foreach문만 돌리면 그건 또 잘 나옵니다....같은 data로 foreach문을 두번 돌리는 것이 문제가 되는 것 같은데....... 이것저것 몇일을 뒤져도 제가 까막눈이라 무슨내용인지 도통 알 수가 없네요...unset(), reset(), fetchALL(), dd() 뭐 이런것들이 검색해보니 나오는데 무슨내용인지 어떻게 적용해야하는지 모르겠네요.... TT
프로그램은 처음해보는 초보입니다. 고수님들 알려주세요....

   view
첫번째 var_dump($datas);시 출력되는 부분(10개 모두 data출력)
array(1) { ["results"]=> array(10) { [0]=> object(stdClass)#23 (4) { ["id"]=> string(2) "11" ["img0"]=> string(9) "art21.jpg" ["img1"]=> string(9) "art91.jpg" ["img2"]=> string(0) "" } [1]=> object(stdClass)#26 (4) { ["id"]=> string(1) "9" ["img0"]=> string(9) "art23.jpg" ["img1"]=> string(9) "art93.jpg" ["img2"]=> string(0) ""}.......[9]=> object(stdClass)#34 (4) { ["id"]=> string(1) "1" ["img0"]=> string(9) "art12.jpg" ["img1"]=> string(9) "art17.jpg" ["img2"]=> string(0) "" } } }
첫번째 사용한 foreach문
........

두번째  var_dump($datas);시 출력되는 부분(1개 data출력)
object(stdClass)#34 (55) { ["id"]=> string(1) "1" ["img0"]=> string(9) "art12.jpg" ["img1"]=> string(9) "art17.jpg" ["img2"]=> string(0) "" }
두번째 사용한 foreach문
........

   controller
........
$datas["results"] = $this->dd_model->search_is($config["per_page"], $page);
........

   model
public function search_is($limit, $start)
    {
        $data = '';
        $this->db->order_by("id", "desc"); 
        $this->db->limit($limit, $start);
        $query = $this->db->get('homeis');
        if ($query->num_rows() > 0)
        {
            foreach ($query->result() as $row) {
                $data[] = $row;
            }
            return $data;
        }
        return FALSE;
    }

이런형식으로 되어있습니다. 뭘 어디에 어떻게 넣어야 되는지 구체적으로 알려주세요... 초보라 두리뭉실하게 얘기해 주심 못알아 들어요.... T.T




 
태그
 다음글 config에서 csrf_protection=true ... (1)
 이전글 ci 내장 메일 라이브러리로 아마존 ses 전송시 한글...

댓글

한대승(불의회상) / 2014/11/27 13:07:58 / 추천 0
처음에는 array 였는데 두번째는 오브젝트로 바뀌걸 보면 첫번째 foreach 루프 실행후 $datas의 값을 변경시키는가 보내요

 
/ 2014/11/27 13:24:22 / 추천 0
첫번째 foreach문은 다음과 같습니다. 
특별히 data를 바꾸거나 변경하는 부분은 없는 것 같은데..... 어떤지 봐주시면 감사하겠습니다. 
<?php foreach($datas['results'] as $datas): ?>
                    <div class="row">
                        <div class="text_color col-xs-12 col-sm-12 col-md-12 col-lg-12 ">                            
                            <div class="panel panel-default">
                                <div class="row padall">
                                    <div class="col-xs-12 col-sm-12 col-md-3 col-lg-3">
                                        <span></span>
                                            <?php if($datas->img0 != ""): ?>
                                                <a href="/index.php/dd/search_is_result/<?=$datas->id?>"><img class="img" src="/static/user/<?=$datas->img0?>" alt="부동산 이미지"/></a>
                                            <?php else: ?>
                                                <a href="/index.php/dd/search_is_result/<?=$datas->id?>"><img class="img" src="/static/img/background/door.jpg" alt="부동산 이미지"></a>
                                            <?php endif; ?>
                                    </div>
                                    <div class="col-xs-12 col-sm-12 col-md-9 col-lg-9">
                                        <div class="map_a_tag">
                                            <div class="clearfix">
                                                <div class="pull-left">
                                                    <span class="fa fa-krw icon"><?=$datas->expectation_price?></span><span class="caption_head">만원 | 월세</span><spna class="icon_color"><?=$datas->monthly_rental_fee?></spna><span class="caption_head">만원</span>
                                                </div>
                                                <div class="pull-right">
                                                    <?php $area=round($datas->exclusive_use_house_area/3.3058); ?>
                                                    <span style="color:#333; text-decoration:none;" id="<?php echo $i;?>" data-toggle="tooltip" title="<?=$area?>평"><?=$datas->exclusive_use_house_area?>㎡</span> | <?=$datas->house_type?> | <?=$datas->deal_type?>
                                                    <?php $i=$i+1; ?>
                                                </div>
                                            </div>
                                            <div>
                                                <h4><span class="fa fa-map-marker icon"></span><?=$datas->jibeon_address?></h4>
                                                <?=$datas->detail_address?>
                                                <a class="pull-right icon" href="/index.php/dd/search_is_result/<?=$datas->id?>"><span class="fa fa-info"></span> 상세</a><br>
                                                
                                            </div>
                                        </div>
                                        <div style="display:none;"><?=$datas->lati?></div>
                                        <div style="display:none;"><?=$datas->longi?></div>
                                    </div>
                                </div>
                            </div>
                            <span class="homeis_id" style="margin-left: 120px;"><?=$datas->id?></span>
                            <span class="report pull-left" data-toggle="modal" data-target="#report_modal"><span class="fa fa-bullhorn fa-lg"></span></span>
                            <div class="choice_btn">
                                <span class="like_a like_trigger"><span class="fa fa-thumbs-o-up fa-lg"></span> <span class="badge like"><?=$datas->like?></span></span>
                                <span class="jjim_a jjim_trigger"><span class="fa fa-heart-o fa-lg"></span> <span class="badge jjim"><?=$datas->jjim?></span></span>
                                <a class="hit_a" href="/index.php/dd/search_is_result/<?=$datas->id?>"><span class="fa fa-check-square-o fa-lg"></span> <span class="badge hit"><?=$datas->hit?></span></a>
                            </div>
                        </div>
                    </div>
혹시나해서 이부분에 <?php unset($datas) ; ?>을 넣어 봤는데 두번째 var_dump($datas);결과가 NULL로 나옵니다.
                <?php endforeach; ?>
혹시나해서 이부분에도 <?php unset($datas) ; ?>을 넣어 봤는데 두번째 var_dump($datas);결과가 NULL로 나옵니다.
</div>
한대승(불의회상) / 2014/11/27 13:34:27 / 추천 0
ㅎㅎㅎ
 
 foreach($datas['results'] as $datas):
$datas 가 오브젝트로 바뀌는군요..
/ 2014/11/27 13:58:00 / 추천 0
아~!! 그런게 있군요!  
for 구문으로 바꿔서 모두 해결했습니다. 
제자신이 너무 창피하네요.... TT 
한대승(불의회상) 님 감사합니다. ^^