체크박스 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="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에 넣으면 되지 않을까 싶습니다.
답변을 작성하시기 전에 로그인 해주세요.