체크박스 2개이상 값 배열로 넘기기

체크박스 2개이상 값 배열로 넘기기

QA

체크박스 2개이상 값 배열로 넘기기

본문

먼저 그누보드에 대한 질문이 아니라 죄송합니다..

혼자해보려다가 잘 안되고 답답한데.. 제가 도움요청 구할곳은 이곳뿐이네요..ㅜ

 

그누보드 기반이 아닌 PHP에서 복수 체크박수 값을 넘겨 받는 것에 대해 질문 합니다..

 

그누보드에서는 복수 체크박스 값넘기는 법을 작은별님께서 올려주신 글을 보고 따라할 수 있었는데요,

https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=177

 

그누보드 외 PHP에서 응용이 잘 안되네요..

예를 들어 아래 코드에서 두번째 체크박스(q_2)의 값만 배열을 통해 복수로 받고 싶은데, 컨트롤러 소스에서 어떻게 수정해야할까요?

 

고수님들의 도움부탁드립니다.

죄송하고 감사합니다.


[페이지 소스]


<form action="survey_update" method="post">
<p class="r1">
    <input type="radio" name="q_1" value="버스">
    <input type="radio" name="q_1" value="기차">
    <input type="radio" name="q_1" value="자전거">
    <input type="radio" name="q_1" value="도보">
</p>
<p class="r2">
    <input type="checkbox" name="q_2" value="수박">
    <input type="checkbox" name="q_2" value="포도">
    <input type="checkbox" name="q_2" value="사과">
    <input type="checkbox" name="q_2" value="배">
    <input type="checkbox" name="q_2" value="바나나">
</p>
<p class="r3">
    <input type="radio" name="q_3" value="생선">
    <input type="radio" name="q_3" value="육류">
    <input type="radio" name="q_3" value="채소">
</p>


[컨트롤러 소스]

    public function survey_update {
        $rules = array(
            array('field' => 'q_1', 'label' => '설문1', 'rules' => 'required'),
            array('field' => 'q_2', 'label' => '설문2', 'rules' => 'required'),
            array('field' => 'q_3', 'label' => '설문3', 'rules' => 'required')
            );
        $this->form_validation->set_rules($rules);
        if ($this->form_validation->run() == FALSE) {
            alert('빈칸을 확인하여 주세요');
            return false;
        }
        $data_array = array(
            'survey1' => $this->input->post('q_1',true),
            'survey2' => $this->input->post('q_2',true),
            'survey3' => $this->input->post('q_3',true)
    }

 

 

이 질문에 댓글 쓰기 :

답변 2

    <input type="checkbox" name="q_2[]" value="수박">
    <input type="checkbox" name="q_2[]" value="포도">
    <input type="checkbox" name="q_2[]" value="사과">
    <input type="checkbox" name="q_2[]" value="배">
    <input type="checkbox" name="q_2[]" value="바나나">

괄호 안에 숫자를 쓰실 수도 있습니다.

안녕하세요 엑스엠일님 답변 감사드립니다^^
저 name 부분에 저렇게 작성하는 방법은 알겠는데, 배열로 받아서 (수박,포도) 이런식으로 DB저장을 어떻게 하는지 모르겠네요..

name="q_2[]" value="사과"

name="q_2[]" value="배"

 

controllers

$post = $this->input->post(null, true);

$data = [];

$data = [

   'q_1' => implode(", ", $post['q_1']),

   'q_2' => implode(", ", $post['q_2']),

   'q_3' => implode(", ", $post['q_3']),

];

이렇게 해서 $data만 그냥 modules로 넘기셔서 db에 넣으면 되지 않을까 싶습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 68
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT