这里我有一个脚本可以帮助我从google places API获取地点。所以现在我想将所有这些存储到mysql中,但是如何?我是mysql和php的新手,以及如何将从谷歌地方获取的数据存储到数据库中?
我需要在这做什么?有人可以告诉我我的例子......
如何结合php和javascript;
所以我需要存储我从谷歌获得的数据:
google.maps.event.addListener(marker,'click',function(){
service.getDetails(request, function(place, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
var contentStr = '<h5>'+place.name+'</h5><p>'+place.formatted_address;
if (!!place.formatted_phone_number) contentStr += '<br>'+place.formatted_phone_number;
if (!!place.website) contentStr += '<br><a target="_blank" href="'+place.website+'">'+place.website+'</a>';
contentStr += '<br>'+place.types+'</p>';
infowindow.setContent(contentStr);
infowindow.open(map,marker);
} else {
var contentStr = "<h5>No Result, status="+status+"</h5>";
infowindow.setContent(contentStr);
infowindow.open(map,marker);
}
});
});
我想将所有place.name,website ...等数据存储到mydatabase中。怎么做? 有没有办法存储这些数据?
答案 0 :(得分:2)
使用AJAX将数据发送到PHP文件。
使用jQuery $ .post() - AJAX方法将数据发送到php文件
data = "name="+name+"&place="+website;
$.post('file_to_store.php', data, function(data) {
//Here you can get the output from PHP file which is (data) here
});
纯粹的javascript方式
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest){
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else{
// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}
data = "name="+name+"&place="+website;
xmlhttp.open("POST","file_to_store.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(data);
}
在file_to_store.php中,从$ _POST []全局数组
接收所有数据 if(isset($_POST)){
$name = $_POST['name'];
$website = $_POST['website'];
//Do same for all other variables
//Steps to insert Data into Database
//1. Connect to database
//2. Select Database
//3. Generate Database Insert Query
//4. Run mysql Query to insert
// Return appropriate return back to Javascript code - Success or Failure
}
答案 1 :(得分:0)
使用serialize($ data)然后将它放到数据库中,从db获取数据后使用unserialize()。
另外:这将存储原始数据,您可能还需要一个解析器。
另外2:抱歉,我以为你有阵列,
如果你有非数组数据的替代解决方案: 你可以使用base64_encode($ raw_data)来存储和base64_decode($ encoded_data)来使用来自sql的编码数据。
答案 2 :(得分:0)
从根本上说,您在 client 端执行的JavaScript程序无法直接访问主机上的SQL数据库。您必须使用AJAX发出对以下内容的请求:主机,并且必须对主机端软件进行编程以处理它们。关于这个主题的现有教程的很多(!)已经存在...到处都是