만들면서 배우는 CodeIgniter Q&A

제목 list_v페이지가 제대로 출력되지 않는 문제
글쓴이 포포탄 작성시각 2014/07/16 18:46:20
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 10683   RSS
안녕하세요. 이제 막 웹프로그래밍에 입문한 순수 문과생입니다.

한빛미디어의 책을 구입해서 차근히 따라해보고 있는데요.
문제가 생길 때마다 계속 흐름을 추적하면서 오류를 발견한 후 수정하는 작업을 계속하고 있는데요.
도저히 고쳐지지 않는 문제가 하나 있습니다.

게시판 프로젝트 부분에서 게시판 list뷰가 제대로 출력되지 않는 문제입니다.

크롬 개발자도구로 어디까지 출력되나 확인해보니, _remap에 넣은 헤더와 푸더가 출력이 되지 않음은 물론, reg_date를 출력하는 php코드 부분부터 코드가 출력되지 않아서, 검색창이고 뭐고 하나도 나오지 않습니다.
출력이 되고 있는 부분은 다음과 같습니다.

제목을 클릭해서 view_v페이지로 들어가면 또 제대로 _remap을 포함한 모든 부분이 제대로 출력이 되고 작동 또한 잘 됩니다. 수정, 삭제 등등 또한 잘 되구요.
아무래도 list_v 파일에서 무언가 잘못 작성한 것 같아서 계속 책을 통해서 오탈자 비교도 하고, 오탈자게시판에 있는 내용을 전부 적용해보고, 시간표시형식이 문제인 듯도 하여 검색을 통해 다양한 방식으로 출력을 시도해 보았으나, 정상 출력에 실패했습니다.

어떤 부분에서 문제가 발생할 가능성이 있을까요?
<script>
	$(document).ready(function(){
		$("#search_btn").click(function(){
			if($("#q").val() == ''){
				alert('검색어를 입력해 주세요.');
				return false;
			} else {
				var act = '/board/lists/ci_board/q/'+$("#q").val()+'/page/1';
				$("#bd_search").attr('action', act).submit();
			}
		});
	});
	
	function board_search_enter(form){
		var keycode = window.event.keyCode;
		if(keycode == 13) $("#search_btn").click();
	}
</script>

<article id="board_area">
		<header>
			<h1>첫번째 게시판</h1>
		</header>
<table cellspacing="0" cellpadding="0" class="table table-striped">
  <thread>
  	<tr>
  		<th scope="col">번호</th>
  		<th scope="col">제목</th>
  		<th scope="col">작성자</th>
  		<th scope="col">조회수</th>
  		<th scope="col">작성일</th>
  	</tr>
  </thread>
  <tbody>
  	<?php
  	foreach($list as $lt)
	{ 
	?>
		<tr>
			<th scope="row">
				<?php echo $lt->board_id;?>
			</th>
			<td><a rel="external" href="/index.php/<?php echo $this->uri->segment(1);?>/view/<?php echo $this->uri->segment(3);?>/board_id/<?php echo $lt->board_id;?>/page/<?php echo $page;?>"><?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>
/*해당 부분 또한 출력이 안되고 있습니다.
    <?php
    }
    ?>
  </tbody>
  <tfoot>
      <tr>
          <th colspan"5"><?php echo $pagination;?></th>
      </tr>
  </tfoot>
여기까지 출력이 안되고 있습니다.*/
</table>
/* 해당 부분 또한 출력이 안되고 있습니다.

<div><p><a href="/index.php/board/write/<?php echo $this->uri->segment(3);?>/page/<?php echo $this->uri->segment(5);?>" class="btn btn-success">쓰기</a></p></div>
<div>
	<form id="bd_search" method="post" class="well form-search">
		<i class="icon-search"></i> <input type="text" name="search_word" id="q" onkeypress="board_search_enter(document.q);" class="input-medium search-query" />
		<input type="button" value="검색" id="search_btn" class="btn btn-primary" />
	</form>
</div>
여기까지 출력이 안되고 있습니다.*/
</article>
 다음글 .htaccess 파일 사용방법을 ?? (2)
 이전글 게시판 리스트 만들고 있는데요 (1)

댓글

변종원(웅파) / 2014/07/16 19:05:36 / 추천 0
우선 date helper 로딩 하셨는지요? 초기 오탈자중 하나입니다. mdate는 codeigniter의 date helper의 함수입니다.

현재 게시판에 보시면 오탈자 안내라고 있습니다. 막히시면 오탈자 안내부터 보시는게 좋습니다.

출력이 안된다는게 화면의 소스를 봤을때 해당 부분이 없다는건가요?
아니면 에러가 출력된다는 건가요?
포포탄 / 2014/07/17 05:25:23 / 추천 0
data helper 로딩 했습니다. 오탈자 안내에 있는 내용도 전부 따라서 수정했는데 이부분만 해결이 안되고 있습니다.
출력이 안된다는 것은 말씀하신대로 화면의 소스를 보았을 때 해당부분이 없다는 뜻입니다. 에러메시지도 출력하지 않고 있습니다.
변종원(웅파) / 2014/07/17 11:36:12 / 추천 0
데이터가 없어서 foreach 안쪽의 모든 데이터가 출력이 안된다면 모를까 특정 일부분만 안나올 수 없습니다.

뷰 페이지 상단에서 var_dump($list)로 데이터가 나오는지 출력해보세요.

페이지네이션 부분은 데이터가 없을 경우 출력되지 않습니다. 페이지네이션도 안나온다고 하는걸 보니 데이터가 없는 것 같네요.
포포탄 / 2014/07/17 21:58:22 / 추천 0

이것저것 만져보니 data helper로딩 문제였습니다. 그동안 크롬을 통해서 확인을 하고 있었는데, 잠시 고향에 내려와 원격으로 이것 저것 수정 후, 익스플로러로 확인해보니 크롬에서는 출력하지 않았던 fatal error를 익플에서는 출력하더군요...ㅡㅡ;

보통 크롬에서도 fatal error메시지를 띄우더니 이번에는 띄우지 않아서 당황하다보니 헬퍼로드문제라고 생각조차 못했던 것 같습니다.

그동안 콘트롤러의 생성자에서 로드하도록 지시했는데, 로드가 안되서 autoload에서 data 헬퍼를 로드하도록 했더니 되었습니다.

그런데 board_controller 의 생성자에서 로드하도록 하는 것과 autoload를 통해서 로드하도록 하는 것에 차이가 있나요?

변종원(웅파) / 2014/07/18 10:24:35 / 추천 0
차이 없습니다.

개발할때는 모든 에러와 경고가 출력되고 로그도 full로 남기도록 하고 작업을 해야합니다.