-참조코드
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값이출력되어버립니다..
|
|
|
|
그리고 print_r($query) 해봐야 안나오고 매뉴얼 보시고 쿼리 결과 생성하시라고 답변 드렸습니다.
print_r($query->result());