2012-06-15 3 views
1

chosen UI 라이브러리를 사용하여 '테이블'이라는 게시 매개 변수에 대해 여러 값을 선택하고 있습니다. 크롬 네트워크 콘솔에서 나는 내가 예상하는 방법 일 것입니다 확인할 수 있습니다CodeIgniter에서 단일 게시 매개 변수에 여러 값을 전달하는 방법은 무엇입니까?

Form data 
checkin:2012-06-15 16:00:00 
checkout:2012-06-15 17:00:00 
tables:14 
tables:15 
tables:16 
customer:28 

을하지만 컨트롤러

var_dump($this->input->post('tables')); 

이 테이블 정보를 복구 할 때 난 단지 PARAM의 마지막 값을 가지고 :

string(2) "16" 

같은 결과가 나올 때 var_dump($_POST['tables']);도 시도해보십시오.

답변

5

tables 대신 tables[]으로 전화 해보십시오.

+0

감사합니다. 나는 당신이 그것을 발견 한 곳이 궁금합니다. 왜냐하면 제가 전문 서적을보고 있었기 때문에 나는 아무것도 발견하지 못했기 때문입니다. – sanrodari

+0

어디서나 그것을 찾지 못했습니다 - 실제로 CodeIgniter 나 CodeIgniter와 아무 관련이 없습니다 - 저는 PHP를 통해 HTTP를 통한 충분한 경험을 통해 문제의 가능성을 알았습니다. –

+0

"테이블"에 여러 값이 있기 때문에 배열로 가정 할 수 있습니다. tables []를 사용하면 전체 배열 (객체) 자체 대신에 배열의 다음 색인 (원하는 데이터가 저장된 위치)에 액세스합니다. – alecwhardy

0

CodeIgniter에 대한 경험이 없지만 찾고자하는 기본 솔루션은 배열을 만들고 전달하는 것입니다 (CodeIgniter에 POST에서 배열을 전달하는 함수가있는 경우 가장 좋을 것입니다. 그렇지 않으면 값을 추가하고 쉼표 또는 세미콜론으로 구분하고 다른 끝에서이를 해석하는 함수를 작성하거나 "tables1 : 14", "tables2 : 15", "tables3 : 16"을 전달한 다음 일단받은 후에 처리하십시오. 배열이 아마도 개인적으로 최선의 방법 일 것이라고 생각하지만 두 번째 방법을 사용할 이유가있을 수 있습니다.

3

HTML 양식에서 서버로 배열을 전달하는 방법에 그냥 예를

HTML

<form> 
    <input name="tables[]" value="value1" /> 
    <input name="tables[]" value="value2" /> 
    .... 
</form> 

PHP (CodeIgniter를)

$tables_array=$this->input->post('tables'); // an array with all values of tables[] input/item of form 

다음 print_r($tables_array);을 당신에게하는 경우 출력은

입니다.
Array ([0] => value1 [1] => value2) 
관련 문제