2014-02-18 2 views
0

PHP를 통해 HTML 폼에서 데이터를 가져와 각 입력에 대해 루프 x 번 반복하려고합니다.PHP foreach 루프 (폼 데이터 포함)

foreach ($_GET['first_input_field'] as $val) 
{ 
$temp_second_field = $_GET['second_input_field'][$value]; 
for ($i = 0 ; $i <= $temp_second_field ; $i++) 
{ 

echo $val; 

    } 
$i=0; 
} 

형태 :

<input type="text" name="first_input_field[1]" id="field_1" value="Text 1"><input type="number" name="second_input_field[1]" min="1" max="4"> 
<input type="text" name="first_input_field[2]" id="field_2" value="Text 1"><input type="number" name="second_input_field[2]" min="1" max="4"> 
<input type="text" name="first_input_field[x]" id="field_x" value="Text 1"><input type="number" name="second_input_field[x]" min="1" max="4"> 

폼 두 필드 (자동 증가 first_input_field 및 second_input_field 번호)를 추가 A + 버튼이

코드이다.

x가 second_input_field 값인 인 first_input_field 값 x 번을 반복하려고합니다.

하지만 내가 얻는 중입니다. 정의되지 않은 색인 : 여기에 오류가 있습니다. $temp_second_field = $_GET['second_input_field'][$value];

Ty 사전에 도움을 받으십시오.

+0

에, 나는 당신이 단지 $ 값 $의 발을 전환해야하거나 그 반대의 경우도 마찬가지 – dave

+0

당신의'

'태그의 방법은 무엇이라고 생각? – MonkeyZeus

+0

양식 방법은 – dinca

답변

3

HTML 요소 이름에 숫자를 넣어하지 마십시오, 당신이 for 루프 실제로 코드에서 설정되지 않고 $value를 사용하는 것을 통해 반복하고 그것 또한 :

<input type="text" name="first_input_field[]" id="field_1" value="Text 1"><input type="number" name="second_input_field[]" min="1" max="4"> 
<input type="text" name="first_input_field[]" id="field_2" value="Text 1"><input type="number" name="second_input_field[]" min="1" max="4"> 
<input type="text" name="first_input_field[]" id="field_x" value="Text 1"><input type="number" name="second_input_field[]" min="1" max="4"> 

편집 필요가 없습니다 :

foreach ($_GET['first_input_field'] as $k=>$val) { 
    $count = $_GET['second_input_field'][$k]; 
    str_repeat($val, $count); 
} 
+0

입니다. 대단히 감사합니다. – dinca

+0

당신을 진심으로 환영합니다. 내부 루프의 필요성을 없애기 위해 편집했습니다. – miken32

+0

현재 여기에 두 번째 문제가 있습니다. echo $ val. '0,30'; 에코가 정확한 숫자 (예 : +30)로 해결 될 때마다 0,30이 올라야하므로 30,60 – dinca

0

봅니다 변경

$temp_second_field = $_GET['second_input_field'][$value]; 

내가 바로 당신을 이해한다면

$temp_second_field = $_GET['second_input_field'][$val]; 
+0

나는 성공했다 : succes :( – dinca