У меня есть динамически добавленное поле формы HTML, которое принимает список названий компаний для хранения в базе данных MySql. Поскольку в базе данных есть только 1 столбец, я использую функцию сериализации для сохранения и отмены сериализации для повторного отображения (на странице редактирования). Сохранение работает нормально.
Проблема в том, что я не могу понять, как отображать различные компании в полях динамического c. Я жестко запрограммировал $ internname [0] в первом поле (которое является полем stati c) и добавил $ internname [1] в поле Dynami c (в скрипте). Это отображает имя первой компании в первом поле и название второй компании во всех оставшихся полях.
Я знаю, мне нужно передать инкрементный номер в поле Dynami c, но как мне написать эта функция? Попытка использовать уже доступную переменную xint, которая все равно увеличивается, не сработала.
<?php
$query = "SELECT * FROM user WHERE mail = '$mail' LIMIT 1";
$result=mysqli_query($db,$query);
while($row = mysqli_fetch_array($result))
{
?>
<div class="field_wrapperint">
<div class="inlineinput2b">
<div align="left">Internships:</div>
<?php $internshipname = unserialize($row['internshipname']);
foreach ((array) $internshipname as $internname[])
?>
<input type="text" name="internshipname[]" placeholder="Company Name" value="<?php echo htmlspecialchars($internname[0]);?>"/>
</div>
<div class="inlineinputb">
<a href="javascript:void(0);" class="add_buttonint" title="Add field"><img src="add-icon.png"/></a>
</div>
</div>
<input type="submit" name="update_profile" class="action-button" value="Update Profile" />
<?php
}
mysqli_close($db);
?>
<!-- Script for dynamic button adding -->
<script type="text/javascript">
$(document).ready(function(){
var maxField = 4; //Input fields increment limitation
var xint = 0; //Initial field counter is 1
var addButtonint = $('.add_buttonint'); //Add button selector
var wrapperint = $('.field_wrapperint');
var fieldHTMLint = '<div><div class="inlineinput2b"><input type="text" name="internshipname[]" placeholder="Company Name" value="<?php echo htmlspecialchars($internname[1]);?>"/></div><div class="inlineinputb"><a href="javascript:void(0);" class="remove_buttonint"><img src="remove-icon.png"/></a></div></div>' ; //New input field html
//Once add button is clicked
$(addButtonint).click(function(){
//Check maximum number of input fields
if(xint < maxField){
xint++; //Increment field counter
$(wrapperint).append(fieldHTMLint); //Add field html
}
});
//Once remove button is clicked
$(wrapperint).on('click', '.remove_buttonint', function(e){
e.preventDefault();
$(this).parent('div').parent('div').remove(); //Remove field html
xint--; //Decrement field counter
});
});
</script>