제목 | p87질문입니다. | ||
---|---|---|---|
글쓴이 | 스피드퀸 | 작성시각 | 2014/04/11 12:20:24 |
|
|||
1.컨트롤러 board.php public function lists() { $data['list'] = $this->board_m->get_list($this->uri->segment(3)); $this->load->view('board/list_v', $data); } 2.모델 function get_list($table='ci_board') { $sql = "SELECT * FROM ".$table." ORDER BY board_id DESC"; $query=$this->db->query($sql); $result=$query->result(); return $result; } 3.뷰 <?php foreach ($list as $lt) { ?> <tr> <th scope="row"> <?php echo $lt->board_id;?> </th> <td><a rel="external" href="/bbs/<?php echo $this->uri->segment(1);?>/view/<?php echo $this->uri->segment(3);?>"><?php echo $lt->subject;?></a></td> <td><?php echo $lt->user_name;?></td> <td><?php echo $lt->hits;?></td> <td><time datetime="<?php echo mdate("%Y-%M-%j", human_to_unix($lt->reg_date));?>"><?php echo mdate("%M. %j, %Y", human_to_unix($lt->reg_date));?></time></td> </tr> <?php } ?> 질문 1.컨트롤러에서 호출 get_list($this->uri->segment(3)); 2.function get_list($table='ci_board') { echo $table; } 2번에서 echo로 $table을 출력해 보면 아무결과가 나오지 않고 SELECT * FROM ORDER BY board_id DESC 조회문이 이렇게 되네요.. 여기서 질문.. get_list()에서 인자로 $this->uri->segment(3)를 전달하면 이 인자를 $table 변수가 받는건가요?? 만약 인자를 받았다고 치면 처음에는 $table 변수에 $this->uri->segment(3)의 값이 할당이 되고, 그다음 다시 $table='ci_board'에 의해서 table 변수에 ci_board값이 할당이 되는 건가요? 어떻게 하든 테이블에는 아무런 값도 나오지가 않네요... 결론은 컨트롤러에서 값을 전달을 못해준거 같은데.... 뭐가 문제일까요? 답변해 주시면 감사하겠습니다. |
|||
다음글 | p57 todo 보기 만들기 질문입니다. (2) | ||
이전글 | 게시판에 다중 검색 조건을 넣고 싶은 경우 (4) | ||
변종원(웅파)
/
2014/04/11 14:10:41 /
추천
0
|
스피드퀸
/
2014/04/11 19:43:49 /
추천
0
답변 감사합니다...주소가 문제였습니다;;증말 바보같네요;;
|
변종원(웅파)
/
2014/04/14 17:20:33 /
추천
0
누구나 실수 합니다. (저도)
다만 다음에 똑같은 실수 안하면 됩니다. ^^ |
이그니
/
2014/06/12 11:53:18 /
추천
0
프레임웍 안거치고 그냥 /application/models/board_m형식으로 들어가서 echo를 확인하는건가요??
작동이 안될때 echo를 어떻게 찍어보는지 궁금합니다. |
변종원(웅파)
/
2014/08/01 10:10:13 /
추천
0
이그니/ 프레임워크 안거치고 모델만 실행할 수 없습니다. 그래서도 안되구요.
그냥 모델 내부에서 원하는 변수를 출력해보면 됩니다. 프레임워크라고 일반 php작업하는 것과 크게 다르지 않습니다. (프레임워크 자체 문법과 php 문법이 혼용되어 사용되죠) echo $var; |
모델에서 get_list($talbe='ci_board') 라는 것은 파라미터가 아무 것도 없을 경우 자동으로
$table 변수에 ci_board라는 값을 할당하라는 의미입니다.
(이 부분은 codeigniter가 아니라 php 함수의 기본사용법입니다.)
컨트롤러에서 $this->uri->segment(3) 을 출력해서 ci_board 가 나오지 않으면
주소를 잘못 치신 겁니다.
그리고 한가지 책에서 게시판은 bbs 디렉토리에 작성을 해서 주소는
http://localhost/bbs/board/lists/ci_board 가 되어 ci_board가 $this->uri->segment(4)라고 생각할 수 있지만
segment의 기준은 index.php입니다. index.php가 0번째 세그먼트이고 위 주소는
localhost/bbs/index.php/board/lists/ci_board 라서 세그먼트가 3이 됩니다.