私は、HTML、PHP、Javascriptを含む.phpファイルと、日付で注文されたGPS情報を含むMySQLにdataという名前のテーブルを使用しています。ユーザーがフォームに日付を入力できるように、次のコードを使用しています。ユーザーが日付を入力すると、サーバー側で、ボタンを押した後 Google Maps APIでMySQLデータを使用する
<form method="POST">
<div class="col-sm-12">
<p>
<label for="route_date_ids">Insert date</label>
<input name="route_date_id"></input>
</p>
</div>
<div class="col-sm-12">
<p>
<input type="submit" value="View route"/>
</p>
</div>
</form>
<?php if (isset($_POST['route_date_id'])) : ?>
<?php
$query = "SELECT * FROM data WHERE measured_at LIKE ". $_POST['route_date_id'];
$result = mysqli_query($conn, $query);
ので、私はその日、ユーザーが入力した文字で始まるデータを取得します。私のobjetiveは今、その情報(緯度と経度のデータを含む$結果)を次の関数に渡すことです。
function initMap() {
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 3,
center: {lat: 0, lng: -180},
mapTypeId: 'terrain'
});
var flightPlanCoordinates = [
{lat: 37.772, lng: -122.214},
{lat: 21.291, lng: -157.821},
{lat: -18.142, lng: 178.431},
{lat: -27.467, lng: 153.027}
];
var flightPath = new google.maps.Polyline({
path: flightPlanCoordinates,
geodesic: true,
strokeColor: '#FF0000',
strokeOpacity: 1.0,
strokeWeight: 2
});
flightPath.setMap(map);
}
したがって、送信後にページをリロードすると、マップはユーザーが入力した日付に対応する座標を示します。
この最後の質問は解決できません。どんな助けもありがとう。
あなたのコードは[** SQLインジェクション**](https://en.wikipedia.org/wiki/SQL_injection)攻撃の脆弱性があります。 [** mysqli **](https://secure.php.net/manual/en/mysqli.prepare.php)または[** PDO **](https://secure.php.net/)を使用してください。 manual/en/pdo.prepared-statements.php)は、[** this post **](https://stackoverflow.com/questions/60174/how-can-i-prevent-sql - インジェクション - イン - php)。 –
クエリから結果を確認するときは、javascript変数を作成し、initmap関数または別の関数から読み込みます。動的更新が必要な場合は、jqueryを使用してデータを要求し、jsonとしてクライアントに送信し、javascriptで解析/処理します。 –
@Sakura Kinomotoどのようにクエリから結果を含むjavascript変数を作成し、initMapから読み込むことができますか?申し訳ありませんが、私はJavascriptとPHPの初心者です! – Eduardo