2011-04-06 2 views
2

사용자가 추가 입력 및 텍스트 영역을 동적으로 추가 할 수있는 양식이 있습니다.은 데이터베이스에 삽입 할 때 동적 입력/텍스트 영역을 식별해야합니다.

각각 여러 세트가 있으므로 입력 배열에 게시 된 모든 데이터를 가져 오는 것만으로도 벗어날 수 없습니다.

각 입력이 서로 관련되기 때문에 각 항목을 식별해야합니다.

필드 수를 설정하지 않았으므로 무엇과 관련이 있는지 예상 할 수 없습니다. 나는 (내가 그렇게하는 방법을 조금 확실 게시 된 모든 데이터를 잡기 위해 PHP를 사용, http://www.screenr.com/lxe

을 사용자가 자신의 정보를 입력 한 후 제출에 : 여기

양식이 어떤 작업을 수행하는지 보여주는 빠른 비디오입니다 왜냐하면 나는 각 결과 집합과 그 조치를 식별 할 수 없기 때문이다.)

두 테이블, 결과, 측정 값이 있습니다. 아래에서 각 측정 값을 결과에 어떻게 연관 시킬지 알게 될 것입니다.

결과 테이블 : outcome.id, outcome.description

측정 테이블 : measure.id, measure.description는 어떤 도움에 감사드립니다

을 measure.outcome_id. 다음 PHP에서 당신은 구문 분석 할 수 있습니다 요소

를 추가 할 때

예를 들어 내가이 숫자가 정의되어이

<input name="outcome[i]" type="text" /> 
    <input name="outcome[i][measure][]" type="text" /> 

같은 수 있습니다

답변

1

배열 색인을 자바 스크립트에서 수동으로 관리해야합니다.

var outcome_num = 0; 

$("button.addoutcome").click(function(){ 
    $("form").append("<input name='outcome[" + outcome_num + "]' ...>") 
}); 

을 그리고 측정 목록은 배열 자체 outcome_num 모두 수행하지만, additonally 다음과 같습니다 :하지만 지금, 당신은 단지 결과 ID를 계산해야 할 것 같다

.append("<input name='measure[" + outcome_num + "][]' ...>"); 

그래서 당신이 끝을 :

<input name='outcome[1]' ...> 
    <input name='measure[1][]' ...> 
    <input name='measure[1][]' ...> 
    <input name='measure[1][]' ...> 

<input name='outcome[2]' ...> 
    <input name='measure[2][]' ...> 
    <input name='measure[2][]' ...> 

이렇게하면 사용 가능한 결합 형식으로 데이터를 받게됩니다. $_REQUEST["outcome"][$i]$_REQUEST["measure"][$i][$x] 하위 배열로 반복하면됩니다.

각 측정 하위 항목에 추가 _ 설명 필드가 필요한 경우 직접 수동으로 계산해야합니다. 이 경우 기존의 색인을 추적하기 위해 Javascript에서 전체 배열 구조를 복제하는 것이 가장 좋습니다. 기존 양식 필드에서 색인 번호를 추출하는 것이 더 많은 작업입니다. 정규 표현식으로 처리 할 수 ​​있지만 작업이 더 많으므로 여기서 수동 카운터를 선호합니다. 네가 뭔가를 놓치지 않으면 네 사건에서 효과가있는 것 같아.

+0

귀하의 설명 내가 생각하기에 자리가 있다고 생각합니다. – Brad

1

나는 배열로 명명 제안 for 루프 또는 무엇이든간에

관련 문제