2016-10-07 64 views
-3

我有一個獲取用戶經緯度的代碼。這是我用來獲取緯度和長度的代碼:每2秒自動插入mysql數據庫

function showlocation() { 
    navigator.geolocation.watchPosition(callback); 
} 

function callback(position) { 
    document.getElementById('latitude').innerHTML = position.coords.latitude; 
    document.getElementById('longitude').innerHTML = position.coords.longitude; 
} 

我想每2秒插入一次lat和long的用戶。

+1

嘗試使用CRON JOB –

+0

@VigneshChinnaiyan好主意,但cronjobs不支持秒,因此您需要PHP定時器和cronjob的組合 –

+0

您運行的服務器端堆棧是什麼?你不能單獨使用JS來完成。 –

回答

0

這裏是一個工作例子,你需要發揮它滿足您的需求:

第一:HTML/JavaScript的/ jQuery的

的index.html

<html> 
    <head> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"> 
    </script> 
    </head> 
    <body> 
    <script> 
     window.setInterval(function() { 
     showlocation(); 
     } 
         , 2000); // 2000==2 seconds 
     function showlocation() { 
     navigator.geolocation.watchPosition(callback); 
     } 
     function callback(position) { 
     var lat = position.coords.latitude; 
     var lon = position.coords.longitude; 
     document.getElementById('latitude').innerHTML = lat; 
     document.getElementById('longitude').innerHTML = lon; 
     $.post('processor.php', 'lat=' + lat + '&lon=' + lon, function(response) { 
      //alert(response); 
     } 
      );; 
     } 
    </script> 
    Latitude: <span id="latitude"></span> 
    <br/> 
    Longitude: <span id="longitude"></span> 
    </body> 
</html> 

二:

processor.php

<?php 
    $lat=$_POST["lat"]; 
    $lon=$_POST["lon"]; 
    // insert into database 
    $conn = mysqli_connect("localhost","user","pass","database"); 
    $sql="INSERT INTO location_tbl (latitude, longitude) VALUES ('$lat','$lon')"; 
    // You might need some conditional insert here and for every 2 seconds you will get lots of records in database! 

    mysqli_query($conn,$sql) or die(mysqli_error($conn)); 
    // return 'done'; 
    ?> 

This stack-overflow post could be a good reference

注意,它需要用戶權限才能共享位置,否則將無法正常工作。

提供的解決方案是爲教育目的只 ...

還有許多其他實用的方式來實現問題的目標。

爲什麼不使用一些PHP IP地理位置類/ API,並重新記錄一次更改的經度,緯度?

+0

謝謝完美的作品...這就是我期望的......非常感謝 –

+0

你能否標記爲答案?謝謝 – wpcoder