Как вставить геокодированный адрес php в базу данных mysql с помощью html-формы - PullRequest
0 голосов
/ 23 апреля 2019

Как вставить геокодированный адрес php в базу данных mysql У меня есть файлы, такие как идентификатор, адрес, широта, долгота, а также я не хочу задавать данные в жестком виде, я хочу отправить их через HTML-форму, но форма должна иметь только 1 текстовый ввод только для адреса, и он должен храниться в разных полях в базе данных, например. Например: я ввожу адрес в поле ввода, он должен быть вставлен в поле адреса базы данных, а также широта и долгота должны сохраняться одновременно с поиском в течение более 2 дней, но результат не был найден, любая помощь будет оценена.

1 Ответ

0 голосов
/ 23 апреля 2019

Хотя этот вопрос очень ... амбициозен относительно того, что вы получите в качестве ответа ... Я перечислю несколько ресурсов, которые помогут вам начать работу ...

Пожалуйста, обратитесь к W3Schools о том, как начать работу с формой https://www.w3schools.com/php/php_forms.asp

Пожалуйста, обратитесь к MySQLi, чтобы начать создавать соединение и выполнять оператор "insert" в вашей базе данных MySQL. https://www.php.net/manual/en/book.mysqli.php

Редактировать: Очевидно, что ссылки не являются правильным ответом ... поэтому вот [правильный] [edit2: но не точный к вопросу] ответ ...

<?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: Вот с геокодированием от Google (который вам нужен ключ API Google, который можно найти здесь: https://cloud.google.com/maps-platform/?apis=maps)

  <?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>

Прошу прощения за упрощение

Редактировать 3: Я не уверен, почему это "слишком широко". Тем не менее, я бы сказал, что в этом вопросе отсутствует какая-либо попытка того, что они попробовали ... однако, если они действительно пытались сделать это в течение двух дней, тогда давайте просто расшифруем то, что сказал пользователь ...

(1) Как вставить геокодированный адрес php в базу данных mysql

  • В своем коде я показал, как вставить геокодированный адрес в базу данных mysql

(2) у меня есть поля, такие как идентификатор, адрес, широта, долгота

  • Просто заметка о том, какие поля обязательны для заполнения

(3) также я не хочу устанавливать жестко закодированные данные, я хочу отправить их через HTML-форму, но форма должна иметь только 1 текстовый ввод только для адреса

  • Примечание о том, каким должен быть поток, и требование ввода 1 текста в html

(4), и он должен храниться в разных полях базы данных, например: Например: я ввожу адрес в поле ввода, он должен быть вставлен в поле адреса базы данных, а также широту и долготу

  • В моем коде он действительно ищет адрес и затем вводит широту и долготу в базу данных

(5) также должны храниться одновременно с поиском

  • В моем коде это делает

(6) в течение более 2 дней, но результата не найдено. Помощь будет оценена.

  • просьба о помощи. Не волнуйся, я получил тебя <3 </li>

И так как это считается лучшим местом в Интернете для помощи в кодировании, я решил, черт возьми, почему бы не помочь [новому] пользователю. В любом случае, я полагаю, что действительно ответил на вопрос, который задал пользователь

...