[英]How to post a JavaScript variable into a MySQL database using AJAX and PHP?
[英]How to create a javascript variable from MySQL using PHP and AJAX?
我不是本地AJAX和JavaScript程序员。 我试图将经度和纬度值从MySQL传递到javascript。 但是,我似乎在这里没有很多运气。 谁能告诉我我做错了什么?
我正在尝试创建一个脚本,该脚本允许我使用AJAX调用GPS_tracker php文件中的值来创建一个javascript变量。
GPS_tracker.php:
<?php
$servername = "localhost";
$username = "db_001";
$password = "12345678";
$dbname = "gpstable";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT rider_id, track_time, track_lng, track_lat FROM db_001.gpstable";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$lat = $row['track_lat'];
$lng = $row['track_lng'];
$gpsjson = json_encode(array($lat, $lng));
}
} else {
echo "0 results";
}
$conn->close();
?>
Script.js:
$.ajax({
url: 'gps_tracker.php',
dataType: 'json'
}).done(
function(gpsjson){
var tag_name = gpsjson[0];
var client_id = gpsjson[1];
}
);
// Show the user's position on a Google map.
function showMap(lat, lon) {
// Create a LatLng object with the GPS coordinates.
var myLatLng = new google.maps.LatLng(lat, lon);
// Create the Map Options
var mapOptions = {
zoom: 8,
center: myLatLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
// Generate the Map
var map = new google.maps.Map(document.getElementById('map'), mapOptions);
// Add a Marker to the Map
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title: 'Found you!'
});
}
在php while循环中
$gpsjson = json_encode($row);
在javascript中解析json:
// in ajax response
var json = JSON.parse(gpsjson);
for(var i in json){
alert(json[i].track_lat);
alert(json[i].track_lng);
// Show in console js text or errors
// Show console hit: CTRL+SHIFT+K
console.log(json[i].track_lng);
}
在SELECT中添加(用于最后一条记录):
ORDER BY rider_id DESC LIMIT 1
问候。
嗨,我认为您有2个问题:
另外,您应该发送一个关联数组,因此请尝试这样,让我知道它是如何工作的。 的PHP:
<?php
$servername = "localhost";
$username = "db_001";
$password = "12345678";
$dbname = "gpstable";
// Create connection
$conn = new mysqli($servername, $username, $password);
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
//declare gps json here
$gpsjson = array();
$sql = "SELECT rider_id, track_time, track_lng, track_lat FROM db_001.gpstable";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
//replace this
// $lat = $row['track_lat'];
// $lng = $row['track_lng'];
//$gpsjson = json_encode(array($lat, $lng));
//for this
$temp = array('lat'=>$row['track_lat'],'lng'=>$row['track_lng']);
$gpsjson[] = $temp;
}
$gpsjson['response'] = 'ok';
echo json_encode($gpsjson);
} else {
echo json_encode(array('response'=>'error'));
}
$conn->close();
?>
Javascript:
$.ajax({
url: 'gps_tracker.php',
type: 'GET',
dataType: 'JSON'
})
.done(function(response) {
console.log(response);
});
希望能帮助到你
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.