我做了一些Php,mysql& Html编程但没有使用javascript做任何事情。我一直在网上看,但没有发现如何做到这一点。以下是获取当前用户GPS并在页面上显示的代码。我需要能够获取GPS坐标并将其插入我的Mysql数据库。我知道如何将php插入到mysql数据库中,但我不知道如何将Javascript GPS坐标添加到我的数据库中。任何帮助将不胜感激。
我希望这是有道理的,但如果你感到困惑,请告诉我?
<script language="javascript" type="text/javascript">
function getLocation() {
// Get location no more than 5 minutes old. 300000 ms = 5 minutes.
navigator.geolocation.getCurrentPosition(showLocation, showError, {enableHighAccuracy:true,maximumAge:300000});
}
function showError(error) {
alert(error.code + ' ' + error.message);
}
function showLocation(position) {
geoinfo.innerHTML= position.coords.latitude + ',' + position.coords.longitude;
}
</script>
<body onload="getLocation()">
<div id="geoinfo"></div>
</body>
答案 0 :(得分:1)
这是学习Ajax http://api.jquery.com/jquery.ajax/的好时机,它是如何从前端(javascript,html ...)获取数据到数据库所在的php服务器端的。
您的Ajax将像javascript一样进入脚本标记:
var valueToInsert = "some Val";
$.ajax({
type: "POST",
url: "your_php_page_to_insert_into_mysql.php",
data: {
valueToInsert: val
},
success:function(data){
alert(data); //do something when done successfully
},
error:function(){
alert("error"); // do something when done unsuccessfully
},
statusCode: {
404: function() {
alert( "page not found" );
}
}
});
在您的php页面上,您可以使用POST来获取您的值
<?php
if(isset($_POST['valueToInsert']))
$valueToInsert = $_POST['valueToInsert'];
//use $valueToInsert in your MySql Query
?>
答案 1 :(得分:0)
您编写的脚本将在浏览器收到后执行。浏览器没有任何直接连接回任何My SQL服务器 - 因此,您需要将数据POST回服务器,并让该服务器将收到的数据写入MySQL数据库。
如果您将jQuery脚本插入到页面中,您可以轻松使用他们的functions将数据发送到服务器正在侦听的URL:
答案 2 :(得分:0)
您只需要jQuery和ajax将数据从客户端传递到服务器 - 这是客户端代码的示例:
$.post("serverside-data-receiver.php", {
coordsLatitude: position.coords.latitude,
coordsLongitude: position.coords.longitude
});
只需将该代码放入JavaScript函数中,然后创建接收数据并执行所有数据库内容的PHP部分。
进一步阅读jQuery帖子:http://api.jquery.com/jquery.post/