как отправить 2d массив javascript координат на mysql? - PullRequest
0 голосов
/ 12 марта 2020

Я создал 2d массив для хранения моих координат (долгота, широта).

var nbPoints = 0;

var gps = new Array(20);

for (var i = 0; i < gps.length; i++) {
 gps[i] = new Array(2);
}

с помощью этого кода я могу получать все координаты с каждым кликом и сохранять их в моем 2d-массиве.

map.on('click', function(e) {

    lon = e.lngLat.lng;
    lat = e.lngLat.lat;

    gps[nbPoints][0] = lon;
    gps[nbPoints][1] = lat; 

    nbPoints = nbPoints+1;
    console.log(lon,lat);

});

и, наконец, я пытаюсь отправить все координаты из моего массив в моей базе данных содержит 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];

        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 код.

<?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;
     }

 ?>
...