2010-03-08 5 views
0

동일한 $ _POST 배열에서 여러 번 동일한 테이블에 데이터를 저장하려고합니다. 너는 내 등록 양식에 가족이 가지고 싶어하는 모든 회원의 이름, 성별, 나이를 지정할 수 있음을 알았다.PHP : 동일한 테이블에 여러 개의 튜플 저장하기

이 데이터는 aditional_member라는 데이터베이스 테이블에 저장됩니다. 패밀리 크기를 기반으로 각 행에 필요한 입력 필드 수가 많은 html 테이블 행을 동적으로 생성합니다.

<tr id="additionalmember_3"> 
    <td><input type="text" name="first_name1" maxlength="50" value="" /></td> 
    <td><input type="text" name="last_name1" maxlength="50" value="" /></td> 
    td><select name="gender1" value="" ><option value='Male'>Male</option><option value='Female'>Female</option></select></td> 
    <td><select name="age_group"value="" ><option value='18 to 30'>18 to 30</option><option value='31 to 60'>31 to 60</option></select></td>  
</tr> 

내가 게시 할 때, 우리는 I (3 테이블 행 위와 같이) 입력의 3 개 세트가 있다고 가정하자, 행 하나의 데이터가 다음 두 행 addional_member 테이블에 삽입하는 간단한 방법이 있나요 및 곧. 내가 실패한 삽입 문을 반복 해 보았습니다. 나는 기본적으로 제안에 개방적이며, 나는 테이블을 사용할 필요가 없다.

아이디어, 감사합니다.

답변

2

내가 당신이 원하는 정확하게 무엇을 이해 알고 있지만,이

<?php 
    //having 3 rows to insert 
    for($i=1;$i<4;$i++){ 

     mysql_query("INSERT INTO Table (field1, field2, field3) values (
      '".$_POST['first_name'.$i]."', 
      '".$_POST['last_name'.$i]."', 
      '".$_POST['gender'.$i]."')"); 
    } 
?> 
을 시도하지 말라
4

name 입력의 끝에 []이 있으면 PHP는 $_POST 요소를 배열로 처리합니다. 인덱스를 반복하고 각 배열에서 함께 가져옵니다.

2

은 "[]"PHP의 기능은 귀하의 게시물 문서를 전달하는 배열을 사용하므로 행이 다음과 같이 표시됩니다

<tr> 
    <td><input type="text" name="first_name[]" maxlength="50" value="" /></td> 
    <td><input type="text" name="last_name[]" maxlength="50" value="" /></td> 
    <td><select name="gender[]" value="" > 
      <option value='Male'>Male</option> 
      <option value='Female'>Female</option> 
     </select> 
    </td> 
    <td><select name="age_group[]" value="" > 
      <option value='18 to 30'>18 to 30</option> 
      <option value='31 to 60'>31 to 60</option> 
     </select> 
    </td>  
</tr> 

당신이 제출 된 데이터를 얻을 때, 단지에 그것을 덤프 print_r()를 사용 화면이 나타나면 어떻게 구성되어 있는지 볼 수 있습니다.

관련 문제