Я создал страницу, которая на основе массива из базы данных создает несколько форм. Каждая форма имеет вход с кнопкой «Добавить», которая динамически добавляет новые входы (до 10 входов на форму)
Это отлично работает, но теперь я попадаю туда, куда я хочу отправить andy входные значения, добавленные в базу данных. У меня есть 2 основных вопроса здесь:
Скрытый ввод в моей форме <input type="hidden" name="tickerID" id="tickerID" value="<?php echo $ticker['ticker'] ?>">
имеет неуникальный идентификатор, поэтому независимо от того, с какой формы я отправляю, значение тикера относится только к первой форме.
Как только я получу это значение и сериализую все введенные данные в этой форме, я вызываю addticker.php для вставки. Я вставляю идентификатор тикера и содержание из входных данных формы, но мне нужно сделать это как foreach, я верю, потому что, если 5 входных данных были добавлены и заполнены, мне нужна запись для каждого. Все 5 будут иметь одинаковый идентификатор тикера и соответствующий контент на входе.
Любая помощь приветствуется
<?php foreach($tickerDisplays as $key => $ticker):?>
<form id="Items" method="post">
<label id="ItemLabel">Item 1: </label>
<input type="text" name="Items[]"><br/>
<button type="button" class="moreItems_add">+</button>
<input type="hidden" name="tickerID" id="tickerID" value="<?php echo $ticker['ticker'] ?>">
<input type="submit" name="saveTickerItems" value="Save Ticker Items">
</form>
<?php endforeach;?>
<script type="text/javascript">
$("button.moreItems_add").on("click", function(e) {
var tickerID = $('#tickerID').val();
var numItems = $("input[type='text']", $(this).closest("form")).length;
if (numItems < 10) {
var html = '<label class="ItemLabel">Item ' + (numItems + 1) + ': </label>';
html += '<input type="text" name="Items[]"/><br/>';
$(this).before(html);
console.log(tickerID);
}
});
</script>
<script type="text/javascript">
$("#Items").submit(function(e) {
//variables?
//var tickerID coming from <input type="hidden" name="tickerID" id="tickerID" value="<?php echo $ticker['ticker'] ?>">
//var Items[]
$.ajax({
type: "POST",
url: addticker.php,
data: form.serialize(), // serializes the form's elements.
success: function(data)
{
alert(data); // show response from the php script.
}
});
e.preventDefault(); // avoid to execute the actual submit of the form.
});
</script>
addticker.php
$tickerID = $_POST[''];
$content = $_POST[''];
$addTicker = "
INSERT INTO tickerTable (tickerID, content)
values ('$tickerID', '$content');
"
$mysqlConn->query($addTicker)