Я пытаюсь передать массив объектов через ajax в мой файл php. По сути, как только он попадает в мой файл php, я хочу провести l oop через каждый объект в массиве и вставить его свойства в базу данных.
Вот как я настраиваю массив объектов, которые передается:
for(i=1;i<totalRowCount;i++){
let currentRow = table.rows[i];
itemArray.push({
'itemId' : currentRow.cells[0].innerText,
'memo' : currentRow.cells[1].innerText,
'project' : currentRow.cells[2].innerText,
'department' : currentRow.cells[3].innerText,
'location' : currentRow.cells[4].innerText,
'qty' : currentRow.cells[5].innerText,
'price' : currentRow.cells[6].innerText
})
}
Внутри моего ajax звонка я передаю свои данные. Все значения свойств, которые я передаю, являются просто отдельными значениями, за исключением itemArray, который является моим массивом объектов:
$.ajax({
type: 'POST',
url: 'upload.php',
data:{
'firstName' : firstName,
'lastName' : lastName,
'email' : email,
'date' : date,
'vendor' : vendor,
'txnCurrency' : txnCurrency,
'expDate' : expDate,
'vendorDoc' : vendorDoc,
'justification' : justification,
'desc' : desc,
'itemTotals' : itemTotals,
'subTotals' : subTotals,
'transTotal' : transTotal,
'itemArray' : itemArray
},
success: function(data){
alert('hi');
}
});
Моя проблема в том, что я действительно не уверен, какой формат будет иметь itemArray, когда он получит до php. Я пытаюсь l oop, хотя прямо сейчас, но я как-то напутал:
foreach($itemArray as $x) {
$sql2 = $mysqli->prepare("INSERT INTO entries (po_id, memo, project_id, department, locn, qty, price) VALUES (?,?,?,?,?,?,?)");
$sql2->bind_param($last_id,$x['memo'],$x['project'],$x['department'], $x['location'], $x['qty'], $x['price']);
$conn->query($sql2);
}
Как бы я отформатировал это, чтобы оно работало? По сути, я хочу сделать отдельную вставку в свою базу данных для каждого объекта в массиве.