如何使用html表单将php地理编码地址插入mysql数据库
如何将php地理编码地址插入mysql数据库我有id、地址、纬度等文件,经度,还有我不想设置硬编码的数据,我想通过html表单发送,但是表单应该只有一个textinput作为地址,它应该存储在数据库的不同字段中,比如ex:i在输入字段中输入地址,它应该插入到数据库地址字段中,纬度和经度也应该是存储在同一时间,我搜索了超过2天,但没有结果发现任何帮助将不胜感激 虽然这个问题非常。。。对你将得到的答案雄心勃勃。。。我将列出一些资源来帮助您开始 有关如何开始处理表格,请参考W3S学校 请参考MySQLi,开始创建连接并执行MySQL数据库的insert语句 编辑:显然链接不是正确的答案。。。所以这里有一个[正确的][编辑2:但不准确的问题]答案如何使用html表单将php地理编码地址插入mysql数据库,php,mysql,google-maps,geocoding,Php,Mysql,Google Maps,Geocoding,如何将php地理编码地址插入mysql数据库我有id、地址、纬度等文件,经度,还有我不想设置硬编码的数据,我想通过html表单发送,但是表单应该只有一个textinput作为地址,它应该存储在数据库的不同字段中,比如ex:i在输入字段中输入地址,它应该插入到数据库地址字段中,纬度和经度也应该是存储在同一时间,我搜索了超过2天,但没有结果发现任何帮助将不胜感激 虽然这个问题非常。。。对你将得到的答案雄心勃勃。。。我将列出一些资源来帮助您开始 有关如何开始处理表格,请参考W3S学校 请参考MySQ
<?php
if(isset($_POST) && count($_POST) > 0){
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
$stmt = mysqli_prepare( $link, "INSERT INTO Location(Address, Latitude, Longitude) VALUES(?, ?, ?)");\
$stmt->bind_param("sdd", $_POST['Address'], $_POST['Latitude'], $_POST['Longitude']);
$stmt->execute();
}
?>
<html>
<body>
<form action='#' method='POST'>
<input name='Address' type='text' />
<input name='Latitude' type='text' />
<input name='Longitude' type='text' />
</form>
</body>
</html>
编辑2:这是谷歌的地理编码,你需要一个谷歌Api密钥,可以在这里找到:
请原谅我的简化
编辑3:我不知道为什么这太宽泛了。然而,我想说的是,这个问题是错过了任何尝试,他们是什么尝试。。。然而,如果他们真的尝试了两天,那么让我们来解码用户所说的
1如何将php地理编码地址插入mysql数据库
在我的代码中,我演示了如何将地理编码地址插入mysql数据库
2我有像id、地址、纬度、经度这样的字段
请注意哪些字段是必需的
3另外,我不想设置硬编码的数据,我想通过html表单发送数据,但表单应该只有1个文本输入,仅用于地址
关于流程应该是什么以及在html中输入1个文本的要求的说明
4并且它应该存储在数据库中的不同字段中,比如ex:i在输入字段中输入地址,它应该插入到数据库地址字段中,以及纬度和经度
在我的代码中,它确实会查找地址,然后将纬度和经度输入数据库
5也应该在我搜索的同时存储它
在我的代码中是这样的
6超过2天,但未发现任何结果。如有任何帮助,将不胜感激
请求帮助。别担心,我在两天后找到了你,你根本找不到任何起点?在这里提问之前,您应该能够并且应该进行一些尝试。请注意,该用例可能会违反谷歌地图平台的服务条款,请参阅以了解更多信息。链接列表不是答案不幸的是,不是。OP表示该表单仅收集地址,不是经纬度。老实说,这应该被删除,因为OP的问题没有包含足够的信息来提供高质量的答案。OP是新的。。。我会重写我的答案,包括地理编码。。。给我一分钟,你不应该试图回答这么广泛的问题。请看我的编辑。如果你真的认为我不应该回答这个问题。。。也许我会承担否决票的费用来帮助新用户。
<?php
if(isset($_POST) && count($_POST) > 0){
//Initate Curl
$ch = curl_init();
//GeoCoding Address
$Google_API_KEY = "*****************";
$url = "https://maps.googleapis.com/maps/api/geocode/json?key={$Google_API_KEY}&address=" . urlencode($_POST['Address']) . "&sensor=false";
//Handle the Curl Params
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//Execute Curl and Decode JSON
$response = json_decode(curl_exec($ch), true);
//var_dump($response);
$geometry = $response['results'][0]['geometry'];
$longitude = $geometry['location']['lat'];
$latitude = $geometry['location']['lng'];
$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");
$stmt = mysqli_prepare( $link, "INSERT INTO Location(Address, Latitude, Longitude) VALUES(?, ?, ?)");
$stmt->bind_param("sdd", $_POST['Address'], $latitude, $longitude );
$stmt->execute();
}
?>
<html>
<body>
<form action='tester.php' method='POST'>
<input name='Address' type='text' />
</form>
</body>
</html>