만들면서 배우는 CodeIgniter Q&A

제목 게시판 예제 리스트출력이 제대로 안됩니다.
글쓴이 일용직노동자 작성시각 2014/03/02 06:41:30
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 12341   RSS
 제 개발환경은 xampp(1.83) + win7(64bit) 을 사용중입니다.

첫번째 질문은 리스트출력부분에서 자꾸 최근글만 출력하네요
두번째 질문은 부트스트랩 적용도 안되는거 같은데 뭐가 문제인지 모르겠습니다.
더 자세히 말하자면 헤더/푸터가 안 불러와지는거 같습니다. 
이상하게도 리스트 부분 이름 누르고 view_v.php에서는 부트스트랩과 헤더/푸터가 적용되네요;
하루종일 고민하다가 여기다가 적어봅니다. 
function get_list($table='board') {

   $sql_list = "SELECT * FROM ".$table." ORDER BY board_id DESC";
   echo "$sql_list";
   $query = $this->db->query($sql_list);
   $result = $query->result();
   var_dump($result);
   return $result;
  }

여기가 board_m.php 부분인데요 var_dump로 $result값을 찍으니 제대로 다 값이 보입니다. 
아무래도 $result 값을 반환할때 생기는 문제점 같은데 잘 모르겠네요

SELECT * FROM board ORDER BY board_id DESCarray(7) { [0]=> object(stdClass)#18 (8) { ["board_id"]=> string(1) "7" ["board_pid"]=> string(1) "0" ["user_id"]=> string(5) "admin" ["user_name"]=> string(9) "관리자" ["subject"]=> string(3) "asd" ["contents"]=> string(7) "assdsad" ["hits"]=> string(1) "5" ["reg_date"]=> string(19) "2014-03-01 18:09:57" } [1]=> object(stdClass)#19 (8) { ["board_id"]=> string(1) "6" ["board_pid"]=> string(1) "0" ["user_id"]=> string(5) "admin" ["user_name"]=> string(9) "관리자" ["subject"]=> string(6) "ㅠ롤" ["contents"]=> string(15) "ㅇㄴㄹㅇㄴ" ["hits"]=> string(1) "0" ["reg_date"]=> string(19) "2014-03-01 18:02:19" } [2]=> object(stdClass)#20 (8) { ["board_id"]=> string(1) "5" ["board_pid"]=> string(1) "0" ["user_id"]=> string(5) "admin" ["user_name"]=> string(9) "관리자" ["subject"]=> string(6) "asdasd" ["contents"]=> string(6) "asdasd" ["hits"]=> string(1) "0" ["reg_date"]=> string(19) "2014-03-01 17:53:36" } [3]=> object(stdClass)#21 (8) { ["board_id"]=> string(1) "4" ["board_pid"]=> string(1) "0" ["user_id"]=> string(5) "taeyo" ["user_name"]=> string(9) "김태영" ["subject"]=> string(22) "네번째글입니다." ["contents"]=> string(22) "네번째글입니다." ["hits"]=> string(2) "40" ["reg_date"]=> string(19) "2012-07-12 22:23:01" } [4]=> object(stdClass)#22 (8) { ["board_id"]=> string(1) "3" ["board_pid"]=> string(1) "0" ["user_id"]=> string(5) "taeyo" ["user_name"]=> string(9) "김태영" ["subject"]=> string(22) "세번째글입니다." ["contents"]=> string(22) "세번째글입니다." ["hits"]=> string(1) "0" ["reg_date"]=> string(19) "2012-07-12 22:23:01" } [5]=> object(stdClass)#23 (8) { ["board_id"]=> string(1) "2" ["board_pid"]=> string(1) "0" ["user_id"]=> string(5) "taeyo" ["user_name"]=> string(9) "김태영" ["subject"]=> string(22) "두번째글입니다." ["contents"]=> string(22) "두번째글입니다." ["hits"]=> string(1) "0" ["reg_date"]=> string(19) "2012-07-12 22:23:01" } [6]=> object(stdClass)#24 (8) { ["board_id"]=> string(1) "1" ["board_pid"]=> string(1) "0" ["user_id"]=> string(5) "taeyo" ["user_name"]=> string(9) "김태영" ["subject"]=> string(15) "안녕하세요" ["contents"]=> string(16) "첫글입니다." ["hits"]=> string(1) "0" ["reg_date"]=> string(19) "2012-06-12 22:23:01" } }

컨트롤러랑 뷰 부분도 소스에 첨부하겠습니다.

public function lists(){
  
  $data['list'] = $this->board_m->get_list($this->uri->segment(3));
  $this->load->view('board/list_v', $data);
 }

// 사이트 헤더, 푸터 함수
 public function _remap($method){

  //헤더 인클루드
  $this->load->view('header_v');

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

  //푸터 인클루드
  $this->load->view('footer_v');
 }
board_list.php 

<article id="board_area">
  <header>
   <h1></h1>
  </header>
  <table cellspacing="0" cellpadding="0" class="table table-striped">
   <thead>
    <tr>
     <th scope="col">번호</th>
     <th scope="col">제목</th>
     <th scope="col">작성자</th>
     <th scope="col">조회수</th>
     <th scope="col">등록일</th>
    </tr>
   </thead>
   <tbody>
<?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);?>/board_id/<?php echo $lt->board_id;?>"><?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
}
?>

list_v.php
 다음글 57p 화면출력 오류 확인 좀 부탁드립니다. (2)
 이전글 segment(7) 값을 엉뚱한 곳에 가져옵니다. (4)

댓글

변종원(웅파) / 2014/03/03 15:31:24 / 추천 0
$sql_list = "SELECT * FROM ".$table." ORDER BY board_id DESC";

위 쿼리는 최신글만 가져오는 쿼리입니다.

페이징 적용하시려면 책 보시고 모델부분 쿼리도 변경해줘야 합니다.


그리고 _remap은 컨트롤러 내부의 모든 메소드에 적용이 됩니다.

컨트롤러에서 lists 메소드에서 리스트 뷰 어떻게 호출했는지 소스 올려주세요.