2010-03-08 31 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> 

當我的帖子,讓我們說我有三套(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()它轉儲到屏幕上,你會看到它是如何爲你組織的。

相關問題