У меня большая форма.
Эта форма содержит некоторые входные данные, которые могут дублироваться пользователем.
Таким образом, они могут выбрать, например, сколько Заявителей поработало над песней и ввести некоторые поля для КАЖДОГО заявителя с ограничением в 10 Заявителей.
Форма будет выглядеть так (сейчас я покажу только 3)
echo "<form action=\"\" id=\"submForm\" name=\"submForm\" method=\"get\">";
//1 CLAIMANT
echo "<p><span class=\"labelInput\">".(_t('_cR_name_mandatory'))." </span><input id=\"nameClaimant\" name=\"nameClaimant[]\" value=\"\" type=\"text\" class=\"required commonInput\"></p>";
echo "<p><span class=\"labelInput\">".(_t('_cR_DOB_mandatory'))." </span><input id=\"DOBClaimant\" name=\"DOBClaimant[]\" value=\"\" type=\"text\" class=\"required littleInput\"></p>";
echo "<p><span class=\"labelInput\">".(_t('_cR_company'))." </span><input id=\"companyClaimant\" name=\"companyClaimant[]\" value=\"\" type=\"text\" class=\"commonInput\"></p>";
//2 CLAIMANT
echo "<p><span class=\"labelInput\">".(_t('_cR_name_mandatory'))." </span><input id=\"nameClaimant\" name=\"nameClaimant[]\" value=\"\" type=\"text\" class=\"required commonInput\"></p>";
echo "<p><span class=\"labelInput\">".(_t('_cR_DOB_mandatory'))." </span><input id=\"DOBClaimant\" name=\"DOBClaimant[]\" value=\"\" type=\"text\" class=\"required littleInput\"></p>";
echo "<p><span class=\"labelInput\">".(_t('_cR_company'))." </span><input id=\"companyClaimant\" name=\"companyClaimant[]\" value=\"\" type=\"text\" class=\"commonInput\"></p>";
//3 CLAIMANT
echo "<p><span class=\"labelInput\">".(_t('_cR_name_mandatory'))." </span><input id=\"nameClaimant\" name=\"nameClaimant[]\" value=\"\" type=\"text\" class=\"required commonInput\"></p>";
echo "<p><span class=\"labelInput\">".(_t('_cR_DOB_mandatory'))." </span><input id=\"DOBClaimant\" name=\"DOBClaimant[]\" value=\"\" type=\"text\" class=\"required littleInput\"></p>";
echo "<p><span class=\"labelInput\">".(_t('_cR_company'))." </span><input id=\"companyClaimant\" name=\"companyClaimant[]\" value=\"\" type=\"text\" class=\"commonInput\"></p>";
echo "<input type=\"submit\" class=\"submBttnClass\" id=\"buttSubm\" name=\"buttSubm\" value=\"".(_t('_cR_submit_button'))."\">";
echo "</form>";
Когда пользователь отправляет форму, я использую функцию сериализации jQuery (я использую jQuery 1.3.2)
echo "<script type=\"text/javascript\">
$(document).ready(function() {
$('#submForm').validate({
submitHandler: function(form) {
var serialized = $('#submForm').serialize()
$.get('".$site['url']."modules/yobilab/copyright/classes/DO_submission.php', serialized);
//alert($('#submForm').serialize());
window.setTimeout('location.reload()', 8000);
return false;
form.submit();
}
})
Проблема в том, что файл, который обрабатывает вставку в базу данных, использует foreach (я покажу вам весь мой foreach со всеми входными данными, которые передаются с помощью функции сериализации:
if(!empty($_GET['nameClaimant'])){
$nameClaimant = $_GET['nameClaimant'];
$DOBClaimant = $_GET['DOBClaimant'];
$companyClaimant = mysql_real_escape_string($_GET['companyClaimant']);
$emailClaimant = $_GET['emailClaimant'];
$mainPhoneClaimant = $_GET['mainPhoneClaimant'];
$alternatePhoneClaimant = $_GET['alternatePhoneClaimant'];
$mobilePhoneClaimant = $_GET['mobilePhoneClaimant'];
$percentageClaimant = mysql_real_escape_string($_GET['percentageClaimant']);
$addressClaimant = mysql_real_escape_string($_GET['addressClaimant']);
$ZIPClaimant = $_GET['ZIPClaimant'];
$countryClaimant = $_GET['countryClaimant'];
foreach ($nameClaimant as $valueClaimant) {
$insClaim = "INSERT INTO cR_Claimants SET memberID ='".$memberID."', ParentSubmission='".$refNumb."', Name ='".mysql_real_escape_string($valueClaimant)."', DOB='".$DOBClaimant."', Company='".$companyClaimant."', Email='".$emailClaimant."', Address='".$addressClaimant."', ZIPcode ='".$ZIPClaimant."', Country='".$countryClaimant."', MainPhone='".$mainPhoneClaimant."', OtherPhone='".$alternatePhoneClaimant."', MobilePhone='".$mobilePhoneClaimant."', OwnershipPercentage='".$percentageClaimant."'";
$resultinsClaim=mysql_query($insClaim) or die("Error insert Claimants: ".mysql_error());
}
}
Foreach вставляет в базу данных неправильные вещи. Он показывает Array
вместо правильного значения.
Я бы хотел вставить информацию в базу данных последовательно с моим foreach.
Таким образом, для Заявителя 1 будет вставлена его относительная информация
для Claimant2 будет вставлена относительная информация и т. Д.
Это не работает. Что я делаю не так?
Я знаю, что это немного скучно, но, пожалуйста, помогите мне! Давай поиграем с этим. Вы все великолепны
Спасибо
Я приложил, что делает в базе данных, чтобы вы видели
Вы увидите, что в базе данных также создаются пустые строки.
Почему это также принимает пустые значения?
Пожалуйста, помогите мне.