kendi türü ile birden fazla veri eklemek nasıl?

1 Cevap php
<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')");
    		}
    	}
    }
}

Bu ancak ben cinsiyetlerin her isim için çalışması nasıl bilmiyorum adlarını inset gelmez.

1 Cevap

Sen SELECT elemanları bir isim vermemiz gerekiyor:

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

Şimdi $_POST['names'] gelen cinsiyet almak için anahtarını kullanabilirsiniz:

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')");
        }
    }
}

Ayrıca mysql_real_escape_string kullanıcı tarafından gönderilen verileri sanatize için kullanmak gerekir.