2012-12-04 3 views
2

나는 페이지에 사용자가 그것을 밀 때 페이지에 다른 "연락처"필드를 만드는 버튼이 있습니다. 연락처 필드를 사용하면 새 연락처를 프로파일에 추가 할 수 있습니다. 또한 버튼을 원하는만큼 여러 번 클릭 할 수 있으므로 많은 "연락처"필드가 생성됩니다.PHP를 사용하여 동적 HTML 양식 입력 배열을 계산하는 방법은 무엇입니까?

하지만 문제는 얼마나 많은 "연락처"fileds가 추가되었는지 파악하는 데 어려움이 있습니다.

<div class="item"> 
    <label for="in-1v">First Name <span>*</span></label> 
    <div class="text"> 
     <input type="text" id="in-1-0" name="member[0][fname]" value="" /> 
    </div> 
</div> 
<div class="item"> 
    <label for="in-2-0">Last Name <span>*</span></label> 
    <div class="text"> 
     <input type="text" id="in-2-0" name="member[0][lname]" value="" /> 
    </div> 
</div> 

버튼을 클릭 할 때마다, 이름 = "부재 [0] [LNAME]"가 될 것이다 NAME = "부재 [다음은 버튼을 클릭했을 때 발생 일부 HTML은 1] [lname] "이며 단추를 클릭 할 때마다 계속 증가합니다. 앞에서 설명한 것처럼 사용자는 페이지에서 원하는만큼 여러 번 작업을 수행 할 수 있습니다.

나는 다차원 배열을 통해 루프 PHP를 사용하고 있습니다 :

$array = $_POST['member'] ; 
foreach($array as $array_element) { 
    $fname = $array_element['fname']; 
    $lname = $array_element['lname']; 
} 

어떻게 내가 그들을 통해 루프를 할 수 추가되었습니다 얼마나 많은 fileds 결정하기 위해 PHP를 사용할 수 있습니까?

도움을 주시면 대단히 감사하겠습니다.

+0

이 PHP를 사용할 수 있습니까? 배열을 통해 반복됩니까? 나는 당신이 html에서 PHP와 같은 다중 배열을 할 수 없다는 것을 이해했다. – shapeshifter

+0

@shapeshifter - 예, 가능합니다 ... 완벽하게 유효합니다 –

+0

예, 위의 코드는 멀티 어레이 배열 – three3

답변

6

간단히과 같이 수를 얻을 수 있습니다 :

$count = count($_POST['member']); 

당신은 또한 다음과 같이 당신의 루프를 수정할 수 :

// First check to see if member is set and is a valid array 
if (!empty($_POST['member']) && is_array($_POST['member'])) { 
    $count = count($_POST['member']); 
    for ($i = 0; $i < $count; $i++) { 
     $fname = $_POST['member'][$i]['fname']; 
     $lname = $_POST['member'][$i]['lname']; 
    } 
} 
+0

나는 이것 역시 말하려고했으나, HTML로부터 다차원 배열을 가질 수 있다고 생각하지 않습니다. 이런 식으로 PHP로. 이게 실제로 작동합니까? – shapeshifter

+0

@shapeshifter - 그래, 위에서 말했듯이, 당신은 할 수 있습니다. –

+1

sooo 많이 감사합니다! – three3

관련 문제