如何将2d数组javascript坐标发送到mysql?
我创建了一个二维数组来存储坐标(经度、纬度) 最后,我尝试将数组中的每个坐标发送到数据库,其中包含Id、Lon和Lat,但它只发送一个坐标如何将2d数组javascript坐标发送到mysql?,javascript,php,jquery,mysql,mapbox-gl-js,Javascript,Php,Jquery,Mysql,Mapbox Gl Js,我创建了一个二维数组来存储坐标(经度、纬度) 最后,我尝试将数组中的每个坐标发送到数据库,其中包含Id、Lon和Lat,但它只发送一个坐标 $("#vol").click(function(e) //envoyer tous les coords vers bdd { for (var i = 0 ; i < nbPoints; i++) { posLon = gps[i][0]; posLat = gps[i][1];
$("#vol").click(function(e) //envoyer tous les coords vers bdd
{
for (var i = 0 ; i < nbPoints; i++) {
posLon = gps[i][0];
posLat = gps[i][1];
console.log("parcours: "+gps[i][0]+ " " +gps[i][1]);
}
$.ajax({
type: "POST",
url: "table.php",
data: {
'lon' : posLon,
'lat' : posLat
},
success: function(){
console.log("OK");
}
});
});
$(“#vol”)。单击(函数(e)//特使tous les coords vers bdd
{
对于(变量i=0;i
这是我的PHP代码
<?php
$conn = mysqli_connect('localhost', 'root', '' , 'api');
if (!$conn)
{
die("Connection failed: ".mysqli_connect_error());
}
$lon = $_POST['lon'];
$lat = $_POST['lat'];
$sql = "INSERT INTO coordonnes (lng, lat) VALUES('".$lon."','".$lat."')";
if($conn->query($sql))
{
echo "Donnes Enregistrer";
}
else
{
echo $conn->error;
}
?>
在您的for(var i=0;i
中,每次迭代都会覆盖posLon
和posLat
(最后一次获胜)。如果将ajax代码放入for loop中,您的代码可能会按预期工作。但这不是一个好的做法,因为它会调用ajax no of times=nbPoints。相反,您可以通过ajax发送整个gps对象,并相应地调整服务器端代码(以进行批量插入)。
$("#vol").click(function(e) //envoyer tous les coords vers bdd
{
for (var i = 0 ; i < nbPoints; i++) {
posLon = gps[i][0];
posLat = gps[i][1];
console.log("parcours: "+gps[i][0]+ " " +gps[i][1]);
}
$.ajax({
type: "POST",
url: "table.php",
data: {
'lon' : posLon,
'lat' : posLat
},
success: function(){
console.log("OK");
}
});
});
<?php
$conn = mysqli_connect('localhost', 'root', '' , 'api');
if (!$conn)
{
die("Connection failed: ".mysqli_connect_error());
}
$lon = $_POST['lon'];
$lat = $_POST['lat'];
$sql = "INSERT INTO coordonnes (lng, lat) VALUES('".$lon."','".$lat."')";
if($conn->query($sql))
{
echo "Donnes Enregistrer";
}
else
{
echo $conn->error;
}
?>