CI 묻고 답하기

제목 아마도 마지막 ? 질문이 되지 싶은데, 초보적이거네요 ㅋ
글쓴이 서슬기 작성시각 2015/03/27 10:38:57
댓글 : 18 추천 : 0 스크랩 : 0 조회수 : 15456   RSS
일반 사무직인데 프로그래밍의 프짜도 암것도 모르고 시작했다 웅파님 책과 스택오버플로랑 여기 도움으로 건건히 프로젝트 막바지입니다.  6개월 작업했네요. 내일이 오픈입니다. 
이게 끝나면 다시 원래 업무로 돌아가겠죠...ㅠㅠ
수정사항도 워드 11폰트로 4장씩 나오던게 이제 몇몇개 안남았네요. 
기초가 아무것도 없이 그냥 검색으로만 해버렸네요 ㅎ

마지막 질문? 이자 마지막 수정 사항인데 머리가 나쁜지, 개념이 없는지 잘 안풀리네요. 
원하는 거는 계층형 게시판 혹은 일반 게시판의 게시물번호 정렬입니다. 
ORDER BY 를 어떻게 하던지 

5   제목  내용
4   제목  내용
3   제목  내용
2   제목  내용
1   제목  내용

이런 식으로 나왔으면 좋겠습니다. 

소스를 보여드리면
[ 컨트롤러 ]
	function announcements() {	
		$this -> load -> view('main/top');
		$config = array();
		$config["base_url"] = base_url() . "customer_support/announcements";
		$config["total_rows"] = $this->customer_support_model->gets_announcements_lists_record_count();
		$config["per_page"] = 10;
		$config["uri_segment"] = 3;
		$config['num_links'] = 4;
		$config['full_tag_open'] = "<ul class='pagination pagination-lg'>";
		$config['full_tag_close'] ="</ul>";
		$config['num_tag_open'] = '<li>';
		$config['num_tag_close'] = '</li>';
		$config['cur_tag_open'] = "<li class='disabled'><li class='active'><a href='#'>";
		$config['cur_tag_close'] = "<span class='sr-only'></span></a></li>";
		$config['next_tag_open'] = "<li>";
		$config['next_tagl_close'] = "</li>";
		$config['prev_tag_open'] = "<li>";
		$config['prev_tagl_close'] = "</li>";
		$config['first_link'] = '처음';
		$config['first_tag_open'] = "<li>";
		$config['first_tagl_close'] = "</li>";
		$config['last_link'] = '끝';
		$config['last_tag_open'] = "<li>";
		$config['last_tagl_close'] = "</li>";

		$this->pagination->initialize($config);

		$page = ($this->uri->segment(3)) ? $this->uri->segment(3) : 0;
		$data["results"] = $this->customer_support_model->gets_announcements_lists($config["per_page"], $page);
		$data["links"] = $this->pagination->create_links();		
		$this -> load -> view('/customer_support/announcements' , $data);
		$this -> load -> view('main/tail');
	}
[모델]
	function gets_announcements_lists($limit, $start) {
		$this->db->select("*, @rownum:=@rownum+1 as idx  " , false);
		$this->db->from("board, (SELECT @rownum:=0) R", false);
		$this->db->where_in('BoardTypeID', 'test');
		$this->db->order_by('idx DESC');
		$this->db->limit($limit, $start);
		$query = $this->db->get();

		if ($query->num_rows() > 0 ) {
			foreach ($query->result() as $row) {
				$data[] = $row;
			}
			return $data;
		}
		return false;
	}
이고 

뷰는 
 
<?php foreach($results as $data) : ?>
<tr>
<td align="center"><?= $data->idx ?></td>
<td>
<a href="/customer_support/announcements_view/<?= $data->BoardID?>"><?= $data->Subject?></a>
</td>
<td align="center"><?= $data->date?></td>
</tr>
<?php endforeach ?>

이렇게 구성했습니다. 

mysql 의 rownum? 이라는건 스택오버플로에서 보고 따라 했습니다. 

ORDER BY 를 뭐 시간 순이나 게시판 ID 등 하나로만 DESC 해버리면 
ROWNUM이 정상적으로 나오는데 
계층형 게시판이나 order by 가 여러개 들어가는 경우는 

번호    내용    작성일자
57    test1      2015-03-24
55    댓글 테스트123      2015-03-24
56    [RE] 댓글 테스트1233    2015-03-24

이런식으로 나오네요. 

그래서 생각한게 뷰에서 
$GetCnt = $this->db->query("select * from 게시판");
$Cnt = $GetCnt->row_nums(); 

으로 전체 목록을 구한 다음
뷰에 foreach 문 밑 혹은 위에다가 
							<?php for ($i=0; $i <$cnt ; $i++) { 
								$c = $cnt-$i;
							} ?>

으로 하니 전체 갯수가 td안에 생겨버리더군요 

번호                      내용    작성일자
567 566 565 564...   test1      2015/03/24
567 566 565 564...    문자 테스트3      2015/03/24
567 566 565 564...    [RE] 문자 테스트3    2015/03/24

아니면 글 내용이 반복이 되버리던지..

내용이 길었네요. 제 상황을 자세하게 묘사를 해야 도움을 받을 수 있을거 같아서 ^^;
아무튼 도움 부탁 드립니다. 
빨리 홈페이지 오픈시키고 제가 하던 원래 업무로 가고 싶어요 ㅠㅠ 
 
 다음글 An Error Was Encountered 에러가 발... (2)
 이전글 어느순간부터 에러출력이 안되는 것 같습니다. (4)

댓글

샤오란 / 2015/03/27 14:13:12 / 추천 0
@한대승(불의회상)
우리 대승형님 완전 상냥하시고 멋지십니다.!
본받고 싶습니다.^^
한대승(불의회상) / 2015/03/27 14:24:20 / 추천 0
@샤오란 님도 충분히 상냥하고 멋집니다.
ci세상 / 2015/03/29 09:28:32 / 추천 0
이렇게 많은 댓글은 처음보는것 같아요 저도 마지막 질문 한번 올려봐야 할듯 ㅎㅎ