2009-12-27 77 views
0
<input name="names[]" type="text"/><select><option value="male">male</option><option value="female">female</option></select> 
<input name="names[]" type="text"/><select><option value="male">male</option><option value="female">female</option></select> 
<input name="names[]" type="text"/><select><option value="male">male</option><option value="female">female</option></select> 





    if (!empty($_POST['names'])) { 
    foreach ($_POST['names'] AS $names) { 
     // add to the database 
     if (!empty($names)){ 
      $rs=mysql_query("SELECT names FROM table WHERE names = '$names' LIMIT 1"); 
      if(mysql_num_rows($rs) == 0) { 
     mysql_query("INSERT INTO table (names,gender) VALUES ('$names','$gender')"); 
      } 
     } 
    } 
} 

這確實插入名稱,但我不知道如何我可以使性別爲每個單獨的名稱工作。如何用自己的類型插入多個數據?

回答

1

你需要給你的SELECT元素的名稱:

<input name="names[]" type="text"/><select name="genders[]"><option value="male">male</option><option value="female">female</option></select> 

現在你可以使用的$_POST['names']的關鍵在於得到相應的性別:

foreach ($_POST['names'] AS $key => $names) { 
    // add to the database 
    if (trim($names) != '' && !empty($_POST['genders'][$key]) && in_array($_POST['genders'][$key], array('male', 'female'))) { 
     $gender = $_POST['genders'][$key]; 
     $rs = mysql_query("SELECT names FROM table WHERE names = '".mysql_real_escape_string($names).' LIMIT 1"); 
     if (mysql_num_rows($rs) == 0) { 
      mysql_query("INSERT INTO table (names,gender) VALUES ('".mysql_real_escape_string($names)."','$gender')"); 
     } 
    } 
} 

您還應該使用mysql_real_escape_string到sanatize的數據由用戶發送。

相關問題