Javascript 如何将js表单元格值发布到PHP并插入到MYSQL数据库
我有一个动态HTML表,我只是使用JavaScript调用id,循环数据并捕获单元格值 问题-如何将此数据发布到test save.php页面,以将整个表插入MySQl数据库Javascript 如何将js表单元格值发布到PHP并插入到MYSQL数据库,javascript,php,mysql,json,ajax,Javascript,Php,Mysql,Json,Ajax,我有一个动态HTML表,我只是使用JavaScript调用id,循环数据并捕获单元格值 问题-如何将此数据发布到test save.php页面,以将整个表插入MySQl数据库 var table = document.getElementById('table'), rows = table.getElementsByTagName('tr'), i, j, cells, OS_d,roleApp_d,Men_d,vcpu_d,Val_d,Per_d,hw_d ;
var table = document.getElementById('table'),
rows = table.getElementsByTagName('tr'),
i, j, cells, OS_d,roleApp_d,Men_d,vcpu_d,Val_d,Per_d,hw_d ;
for (i = 1, j = rows.length; i < j; ++i) {
cells = rows[i].getElementsByTagName('td');
if (!cells.length) {
continue;
}
OS_d = cells[1].firstChild.value;
roleApp_d = cells[2].firstChild.value;
vcpu_d = cells[3].firstChild.value;
Men_d = cells[4].firstChild.value;
Val_d = cells[5].firstChild.value;
Per_d = cells[6].firstChild.value;
hw_d = cells[7].firstChild.value;
}
PHP Side Save.PHP
<?php
$test = $_POST['data'];
echo $test;
?>
只是快速编码,而不是测试,因此您的帖子数据应该如下所示:
var table=document.getElementById('table'),
行=table.getElementsByTagName('tr'),
i、 j、单元、操作系统、角色、人员、vcpu、Val、Per、hw;
var p_row='[';
对于(i=1,j=rows.length;i
我明白了,所以决定与社区分享。谢谢你的支持
$.ajax({
type: "POST",
url: 'test.php',
data: {p_row : p_row },
success: function(data){
alert(data);
}
});
}
On the test.php side
<?php
$data = false;
if(isset($_POST['p_row'])){
$data = $_POST['p_row'];
}
echo 'Received Data: ' . $data ;
//$conn->close();
?>
$.ajax({
类型:“POST”,
url:'test.php',
数据:{p_行:p_行},
成功:功能(数据){
警报(数据);
}
});
}
在test.php方面
这里没有PHP代码,不清楚您在问什么。发布save.php的内容,并描述哪些不起作用。AJAX可能是您所需要的,因为您已经有了数据。现在您需要使用AJAX或FetchAPI提交它。@CaduDeCastroAlves我会试试。我只是一直在尝试Ajax,但没有成功,我真的不知道怎么做。如果您的AJAX代码“不起作用”,请向我们展示代码(以及发送数据的PHP代码),并更具体地解释您看到的问题。然后我们就可以帮你了,而不仅仅是提建议。
Just quick code, not tested it so your post data should be like this:
var table = document.getElementById('table'),
rows = table.getElementsByTagName('tr'),
i, j, cells, OS_d,roleApp_d,Men_d,vcpu_d,Val_d,Per_d,hw_d ;
var p_row = '[';
for (i = 1, j = rows.length; i < j; ++i) {
cells = rows[i].getElementsByTagName('td');
if (!cells.length) {
continue;
}
p_row += "{";
p_row +='"OS_d":"'+cells[1].firstChild.value+'",';
p_row +='"roleApp_d":"'+ cells[2].firstChild.value+'",';
p_row +='"vcpu_d":"'+ cells[3].firstChild.value+'",';
p_row +='"Men_d":"'+ cells[4].firstChild.value+'",';
p_row +='"Val_d":"'+ cells[5].firstChild.value+'",';
p_row +='"Per_d":"'+ cells[6].firstChild.value+'",';
p_row +='"hw_d":"'+ cells[7].firstChild.value+'"';
p_row += '},';
}
p_row = (p_row).replace(new RegExp("[,]+$"), "");
p_row += ']';
var formData = new FormData();
formData.append('data',p_row);
fetch("/save.php", {
method: "POST",
body: formData
}).then(function (response) {
console.log(response);
}).catch(function (error) {
console.error(error, "code: " + error.status);
});
$.ajax({
type: "POST",
url: 'test.php',
data: {p_row : p_row },
success: function(data){
alert(data);
}
});
}
On the test.php side
<?php
$data = false;
if(isset($_POST['p_row'])){
$data = $_POST['p_row'];
}
echo 'Received Data: ' . $data ;
//$conn->close();
?>