안녕하세요
전에 PHP를 한 페이지에서 프로그램 할 때에
$sql2 = "SELECT * FROM atable ORDER BY user_id";
$result = sql_query($sql2);
while($row2=sql_fetch_array($result)){
$user_id = strtotime($row2['user_id']);
$sql3 = "SELECT * FROM btable where user_id='$user_id' ";
$row2 = sql_fetch($sql3);
$user_name= $row2[user_name];
echo "<td>".$user_name."</td>";
}
이런 식으로 처리 하던 것을 코드이그나이터에서 어케 처리 하는지 궁금합니다. ^^
Aㅏ. 그누보드의 정말 안 좋은 로직을 다시 보여주셔서 정신적 고통을 주시는 군요 ㅎㅎ
올려주신 로직 정도면 join 문으로 처리 가능 합니다.
저 로직을 쓰는 가장 큰 이유는
atable 테이블과 btable 테이블에 user_id 값이 무결하지 않아 비매칭 되는 현상이 나올 경우 일부러 쓰기도 합니다만.
키값이 매칭이 된다면 join 문으로 받아 오세요.
//model
function get_lists(){
$this->from('atable');
$this->join('btable','atable.user_id = btable.user_id ','inner');
$this->order_by('atable.user_id','desc');
return $this->get();
}
//controller
$db_obj = $this->model->get_lists();
$data['table_data'] = $db_obj->result_array();
$this->load->view('filename_v',$data);
//view
//filename_v
foreach($table_data as $key => $val){
echo $val['user_name'];
}
Aㅏ. 써놓고보니 CI의 기본 베이스 총 출연이네요.
우선 매뉴얼에서 컨트롤러, 모델, 뷰 부분을 보시고 좌측 CI샘플코드도 참고해보세요.
http://sample.cikorea.net/
http://www.ciboard.co.kr/user_guide/kr/database/query_builder.html
여기 보시면 자세하게 나와있어서 금방 이해하실거예요