我有一个简单的网络应用程序,显示您在(lat,lon)的位置 但是我希望lat和lon保存到mySql。
function callback(position) {
document.getElementById('lat').innerHTML = position.coords.latitude;
document.getElementById('lon').innerHTML = position.coords.longitude;}
是我用来查看纬度和经度的。
我用来发送信息的代码是
<?php
$sql="INSERT INTO poi_example (lat, lon)
VALUES
('$_POST[lat]','$_POST[lon]')";
if (!mysql_query($sql,$dbcnx))
{
die('Error: ' . mysql_error($dbcnx));
}
mysql_close($dbcnx);
?>
然而,当页面加载一个空白的lat并且lon在mySql中输入时。
我假设它是由于谷歌api获取位置的时间与它创建和插入的时间。在那里我可以延迟插入?
答案 0 :(得分:0)
由于您没有使用<form>
,我建议使用以下代码使用Javascript发送值并使用PHP检索它。
首先,当您将变量发送到PHP脚本时,您将获取该变量:
function(){
var lat = position.coords.latitude;
var lon = position.coords.longitude;
window.location = "http://www.yoururl.com/store.php?lat="+lat+"&lon="+lon;
}
现在您已在URL栏中获得了值,您可以使用$_GET
方法获取它们并将它们存储到数据库中:
<强> store.php 强>
<?php
$sql="INSERT INTO poi_example (lat, lon)
VALUES
('".$_GET["lat"]."','".$_GET["lon"]."')";
if (!mysql_query($sql,$dbcnx))
{
die('Error: ' . mysql_error($dbcnx));
}
mysql_close($dbcnx);
?>
我假设您拥有连接SQL数据库的凭据。