将数据发送到mysql会创建表,但表中没有任何内容

时间:2014-04-12 11:32:01

标签: php mysql google-maps

我有一个简单的网络应用程序,显示您在(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获取位置的时间与它创建和插入的时间。在那里我可以延迟插入?

1 个答案:

答案 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数据库的凭据。