CI 묻고 답하기

제목 CI 에서 DB 테이블의 주석의 이름값을 가져오기 질문
글쓴이 이지포토 작성시각 2012/11/16 15:50:32
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 16371   RSS

$fields = $this->db->field_data('table_name'); 하면 필드 네임을 가져오는데 여기서

pear 에서 처럼 자동으로 주석으로 달린 네임값을 가져오는 방법은 없나요?

-- pear 예제 --
 // 자동 제목 알기

  function list_name(){

   global $db;
   isset($que);
   isset($res);
   isset($page);
   $que = "
     SELECT 
      catename,
      parentname,
      pparentname,
      ppparentname

     FROM  shop_category where 1";

   return getColumnName($que);
  }


 

첨부파일 이미지_111.zip (202.4 KB)
 다음글 mpdf 출력시 한글이 깨짐 현상 (6)
 이전글 다중 파일 업로드 가이드 부탁 드립니다 (1)

댓글

변종원(웅파) / 2012/11/16 16:25:34 / 추천 0
테이블 주석

SELECT TABLE_SCHEMA,TABLE_NAME,AUTO_INCREMENT,TABLE_COMMENT
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA='database_name' AND TABLE_NAME='테이블명'


컬럼 주석

SELECT `COLUMN_COMMENT` FROM information_schema.COLUMNS WHERE `TABLE_SCHEMA` ='db명' and TABLE_NAME = '테이블명'
AND `COLUMN_NAME`= '필드명'


ci의 함수로는 없습니다.
이지포토 / 2012/11/16 18:24:44 / 추천 0

답변감사 합니다. 함수로 만들어 써야겠군요.

이지포토 / 2012/11/16 20:25:56 / 추천 0

 한번 만들어 봤습니다. 고견 부탁 드립니다.

==컨트롤==

//member 팝업상세보기
 function popdetail($idxNo)
 {
  $data['col'] = $this->mem_model->column_name();
  $data['row'] = $this->mem_model->kcGetData($idxNo);
  $this->load->view('admin/member/pop_member_detail_view', $data);
 }

 

==모델==
 function column_name(){ 
   return cN($this->table_name) ;
  }

==헬퍼==
//colum name 자동으로 가져오기

 function cN($table){ 
  $CI = & get_instance();
   $sql="SELECT column_name, column_comment FROM information_schema.columns WHERE table_name='".$table."' "; 
   $query=$CI->db->query($sql); 
  
   foreach ($query->result_array() as $key => $row)   { 
   $column_comment[$row['column_name']]=$row['column_comment']; 
   }

   return $column_comment ;
  }

 


==뷰==
<?
 $table_name[] = array('userid','passwd','name','level','type','mileage','quest','answer','tel1','tel2','zipcode','addr1','addr2','email','ordcnt','ordsum','adt','bankname','bankregnum','cashback','regnum1','regnum2','com','step','com_sn','ceo','jong1','jong2','comzip','comaddr1','comaddr2','login_count');
?>

<table width="80%" border="0" cellpadding="0" cellspacing="0">
<? for($i=0;$i<count($table_name[0]);$i++){?>
    <tr><td align="left" class='table_input_gubun'> <?=$col[$table_name[0][$i]]?></td><td width="3"></td><td><?=$row[$table_name[0][$i]]?></td></tr><tr height="2"><td colspan="3"></td></tr>  
<?}?>
</table>

한대승(불의회상) / 2012/11/19 12:41:35 / 추천 0
이지포토// 멋진데요.. ^^
정리 하셔서 팁란에 올려주시면 좋을것 같습니다.
니삼 / 2012/11/19 13:21:57 / 추천 0
주석을 이렇게도 이용하는 방법이 있군요 하나 배워갑니다~~