제목 | 코드이그나이터 날짜 셀렉트박스(Selectbox) | ||
---|---|---|---|
카테고리 | CI 2, 3 | ||
글쓴이 | 호아세 | 작성시각 | 2017/01/17 15:08:42 |
|
|||
date_v.php (view) 위에 view단그림처럼 만들려고 합니다. phpexcel을 이용한 엑셀다운로드 controller로 넘어가게 되어있습니다. 문제는 위에 기간들을 parameter값으로 엑셀다운로드 controller에 물고가서 model안에 쿼리에 넣어주어야합니다. controller까지 어떻게 파라미터 값을 끌고가야할지 의문입니다. ajax 사용안하고 할 수는 없을까요 ??? |
|||
첨부파일 |
셀렉트박스.jpg (13.5 KB) |
||
다음글 | 보안인증(SSL) 관련 문의드립니다. | ||
이전글 | 어제 서버관리자님이 봐주셧는데..해결이안됐네요 PHP... (14) | ||
kaido
/
2017/01/17 15:15:05 /
추천
0
|
호아세
/
2017/01/17 15:52:00 /
추천
0
현재 날짜인식은 다 되고 있고요 합쳐서 변수처리 $sdate 랑 $edate로 처리는 되었습니다. 말씀드리는것은 날짜를 지정한후 엑셀다운로드를 누르면 phpexcel부분 controller 단에 파라미터 값을 물고 가야 지금 작성된 쿼리에 $sdate , $edate값이 전달 될 수있는지를 여쭈는 질문이었습니다.
class Excelcontroll extends CI_Controller public function excel_new(){
$this->excel->getActiveSheet()->setCellValue('A2', '상품');
$List = $this->excel_m->date_list(); foreach($List as $row): $this->excel->getActiveSheet()->setCellValue('A'.$n, $row->name);
$n++; $filename= 'list_'.date('Y.m.d.h.i.s').'.xls'; //save our workbook as this file name }
간단하게 이 controller 안으로 파라미터 값을 가져와 excel_new 메소드안에 model (excel_m)메소드 쿼리에 파라미터값을 넘기고자 합니다. |
kaido
/
2017/01/17 15:58:50 /
추천
0
넵 가능 합니다. excel 파일 제작의 기본은 model 에서 불러낸 쿼리 값을 바탕으로 만들어집니다. 그 베이스는 html 에서 table 로 데이터 가져오는 것을 엑셀 타입으로 파일 저장 하는 것 밖에 되지 않습니다. 대신 현재 로직에선 조금 변경이 필요해 보입니다. |
호아세
/
2017/01/17 16:01:11 /
추천
0
어떻게 로직을 변경해야 가능할까요 ????
|
kaido
/
2017/01/17 16:06:33 /
추천
0
$List = $this->excel_m->date_list(); print_r($List); exit; CI model 사용법을 알고 계시다면, 실행 해보시면 단번에 이해 되시라고 생각 됩니다. |
kaido
/
2017/01/17 16:14:32 /
추천
0
혹시 이거 찾으신 건가요? 현재 검색과 다르게 엑셀 호출 하는 쪽에 파라메터를 따로 넘기는 방법. 크게 2가지 있습니다. 1. ifream 을 만들어서 넘기는 방법. 2. form 을 따로 하나 더 만드는 방법 <button id='excel_down' >엑셀다운</button> <form action="/excelcontroll/excel_new/" id='excel'> .... <input type="hidden" name="sdate" /> </form> <script> $("#excel_down").click(function(){ $("input[name='sdate']").val('2017-01-01'); $("#excel").submit(); }); </script>
어떤 방법을 취하든 일단 parameter를 전달해 줘야 받아 올수 있습니다.
참고로 엑셀 다운로드 파라메터 전달에 트릭이 좀 있다면... 엑셀 다운로드 파라메터와 일반 페이지 호출 하고 동일 하다는 것입니다. [일반적으로 현재 보는 자료를 엑셀로 받아오기 하는 기능이기 때문]
현재 페이지에서 사용하는 파라메터는 엑셀 다운로드에도 사용된다는 것입니다. 트릭을 써보면 현재 페이지에서 사용하는 파라메터를 엑셀 다운로드쪽에도 혼용해서 넘겨줄수 있습니다. 방법은 한번 생각해 보시기 바랍니다. |
호아세
/
2017/01/17 18:50:40 /
추천
0
아~~감사합니다. 2번째방법으로 넘겼습니다~~~
|
ajax 와 submit 하고의 차이는? 작동 방법의 차이입니다.
ajax 사용 하시면 처리 가능 하신가요?
ajax 보내기 전에 $(id).submit(); 하시면...?
제가 보기에는 질문의도는 저렇게 날짜가 따로따로 된것을 어떻게 model에서 합쳐서 날짜를 검색 가능 하냐? 이신듯 합니다만...
mysql은 문자열로 '2017-01-17' 이렇게 넣어도 날짜로 인식 합니다.
$year = $this->input->get('year',true);
$month = $this->input->get('month',true);
$day = $this->input->get('day',true);
$sdate = $year."-".$month."-".$day;
......
$this->db->where('date >=', $sdate);
생각보다 별거 없죠? ^^