CI 묻고 답하기

제목 포럼소스 main부분 다시한번질문드립니다^^
글쓴이 이그니 작성시각 2014/06/20 18:37:35
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 13404   RSS
-참조코드
       this->db->cache_on();
        $tables = "board_".$table;                        //db안에 테이블명 
        $this->db->order_by($tables.'.no', 'desc');        
        $this->db->limit(7);
          $this->db->where(array("is_delete" => 'N', 'original_no' => '0'));
        $query = $this->db->get($tables);
        $this->db->cache_off();

이런식으로 db연결과 query 가뽑혀오는것을 database폴더안에 소스들을보면서 이해했는데요

-전체요약
main_m.php 에서 html(뽑혀온 query값을 순차적으로 뿌려주는 코드포함) 을 return 변수명 해서 main에서 data로
받아 view페이지에서 출력해주는 내용인데요.

내용이해를위해 제가만든 help.php와 help_m.php에선 같은방식으로 해주어도 print_r($query)해보면 각배열의 index에 값이 아무것도 들어가있지않습니다..

물론 컨트롤러(help.php)에서
$data['notice'] = $this->help_m->help_list('공지사항', 'notice');등과같은 코드로 모델소스는 참조했구요...

무슨이유일까요...

-정확한이해를위한복제코드
main.php

class Main extends CI_Controller {
        
    function __construct()
    {
        parent::__construct();

        $this->load->model('main_m');
    }

    function index()
    {    

        $data['notice'] = $this->main_m->main_list('공지사항', 'notice');
    //    $data['free'] = $this->main_m->main_list('자유게시판', 'free');
        $data['qna'] = $this->main_m->main_list('', 'qna');                //질문하기게시판 ==> 방금올라온질문들
    //    $data['ci_make'] = $this->main_m->main_list('', 'ci_make');
    //    $data['news'] = $this->main_m->main_list('', 'news');
        $data['comment'] = $this->main_m->comment_list();

        //코멘트, 운영진이상 최근리스트 표시 
        if($this->session->userdata('auth_code') >= '7')
        {
            //auth->운영진이상
            $data['ci'] = $this->main_m->main_list('', 'ci');
            $data['su'] = $this->main_m->main_list('운영자게시판', 'su');
        }

        $this->load->view('top_v');
        $this->load->view('main_v', $data);
        $this->load->view('bottom_v');
    }

    function test()
    {

        $arr = array(array('a'=>1),array('b'=>2),array('c'=>3));
        //$arr = array('a','b','c');
        var_dump($arr);
        echo "

";
        $d = shuffle($arr);
        var_dump($arr);

    }
}

/* End of file main.php */
/* Location: ./application/controllers/mian.php */

help.php
 class Help extends CI_Controller {
    
    function __construct()
    {
        parent::__construct();
    
        //게시판일경우 정리.            
        if($this->uri->segment(3)){
        $rew = $this->db->get_where('board_list', array('name_en'=>'board_'.$this->uri->segment(3)));
        
        $item = $rew->row();
        
        define('MENU_ID', $item->no);
        define('MENU_SKIN', $item->skin);
        define('MENU_BOARD_NAME', $item->name);
        define('MENU_BOARD_NAME_EN', $item->name_en);
        define('MENU_BOARD_PERM', $item->permission);
        define('MENU_BOARD_DETAIL_SETTING', $item->detail_setting);

        $this->load->model('board_m');
        }
        //common helper
        $this->seg_exp = segment_explode($this->uri->uri_string());
        $this->output->enable_profiler(false);
        
        //load
        $this->load->config('tank_auth', TRUE);
        $this->load->helper(array('form', 'url'));
        $this->load->helper('alert_helper');
        $this->load->library('form_validation');
        $this->load->library('tank_auth');
        $this->lang->load('tank_auth');

        //$this->load->model('introduce_m');
        $this->load->model('help_m');
        //$this->seg_exp = segment_explode($this->uri->uri_string());
        
            
    }
    
    //헤더, 푸터 자동삽입
    public function _remap($method)
    {    

        $data = array();
        if($this->uri->segment(2) == 'view') {
            $data['views'] = $this->board_m->board_view($this->uri->segment(3), '');
        }

        if($this->uri->segment(2) != 'reply_edit')
        {
            $this->load->view('top_v', $data);
        }

        if( method_exists($this, $method) )
        {
            $this->{"{$method}"}();
        }

        if($this->uri->segment(2) != 'reply_edit')
        {
            $this->load->view('bottom_v');
        }
        
    }            
    
    function index()
    {    
        $data['notice'] = $this->help_m->help_list('공지사항', 'notice');
        $data['faq'] = $this->help_m->help_list('', 'faq');
        //$data['tip'] = $this->help_m->help_list('', 'tip');
        //$data['comment'] = $this->help_m->comment_list();
        //$this->load->view('top_v');
        $this->load->view('help/helplists_v' ,$data);
        $data['comment'] = $this->help_m->comment_list();
        //$this->load->view('bottom_v');    
       
    }
    
    function write()
    {    
        
        //어디인지.
        $div    = $this->uri->segment(3);

        //자동등록방지
        $captcha_registration    = $this->config->item('captcha_registration', 'tank_auth');                                                    
        $use_recaptcha            = $this->config->item('use_recaptcha', 'tank_auth');
        
        if ($captcha_registration) {
            if ($use_recaptcha) {
                $this->form_validation->set_rules('recaptcha_response_field', '인증코드', 'trim|xss_clean|required|callback__check_recaptcha');
            } else {
                $this->form_validation->set_rules('captcha', '인증코드', 'trim|xss_clean|required|callback__check_captcha');
            }
        }
        
    //    echo "A";
        
    /*    if ($captcha_registration) {
            if ($use_recaptcha) {
                $data['recaptcha_html'] = $this->_create_recaptcha();
            } else {
                $data['captcha_html'] = $this->_create_captcha();
            }
        }        */
    
        


        //로그인검사
        if (!$this->session->userdata('userid')){
        
        $CI =& get_instance();
        echo "config->item('charset')."\">";
        echo "";
        
        $this->load->library('tank_auth');
        $this->tank_auth->is_login();
        
        }else{

            $this->load->library('form_validation');
            $this->form_validation->set_rules('subject', '글 제목', 'required');
            $this->form_validation->set_rules('wcontent', '글 내용', 'required');
            $this->load->view('help/'.$div.'/write_v');
            
        }

    }




    /*    if (!$this->session->userdata('userid')){            //로그인했나안했나 체크..
        $msg            = "로그인이 필요한 페이지입니다.";
        $url            = "/auth/login";
        alert($msg,$url);
            
        }else{
            
        }*/

/*    function lists()
    {            
        $this->load->view('top_v');
        $this->load->view('help/helplists_v');
        $this->load->view('bottom_v');

    }    */
}




?>

//var_dump 나 print_r로했을때 같은파일 같은소스 같은db에대하여 main에서는 array값이출력이되는반면 help에서는 빈 array값이출력되어버립니다..

 
 
 
 
 
 다음글 index.php 안보이게 하려고 하는데 자꾸 객체가... (9)
 이전글 ci 공부중 궁금증 (2)

댓글

변종원(웅파) / 2014/06/20 18:40:04 / 추천 0
help가 예약어일 수 있습니다. 다른걸로 바꿔보세요

그리고 print_r($query) 해봐야 안나오고 매뉴얼 보시고 쿼리 결과 생성하시라고 답변 드렸습니다.
print_r($query->result());

 
이그니 / 2014/06/30 18:09:50 / 추천 0
웅파님//감사합니다!