私はこれをindex.phpに入れました。私の入力データ(範囲)を変数として、私のnova.phpに入れたいと思います。私が使用しようとしているとき $ range = $ _GET ['range']; nova.phpに表示されます: 未定義のインデックス:範囲。私は、データのようなものを{range:range}のようにmyAjax関数に入れるべきだと思います。 入力からajaxを通して入力から外部のPHPに
<?php
if($_POST['action'] == 'call_this') {
$con=mysqli_connect("localhost","tech","151987","portnew");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$range = $_GET['range'];
// Perform queries
$query = $con->query("SELECT (6371 * acos(cos(radians(53.216908))*
cos(radians(lat)) * cos(radians(lng) - radians(7.453240)) +
sin(radians(53.216908)) * sin(radians(lat)))) AS distance,
port_name FROM ports HAVING distance < '".$range."' ORDER BY distance LIMIT 0 , 20; ");
while ($row = $query->fetch_assoc()) {
$port_list[] = $row['port_name'];
}
echo json_encode($port_list);
}
?>
だから基本的には、このスクリプトは緯度、logitudeに基づいて近くの場所を探している:しかし、もちろん、私のAJAX
function myAjax() {
$.ajax({
type: "POST",
url: 'nova.php',
data:{action:'call_this'},
success:function(html) {
alert(html);
}
});
}
と私のnova.php
<input id="range" type="text" name="range" class="enter" value="">
<input type="button" onclick="myAjax()" value="Show nearby" />
働いていません。私は...HAVING distance < 150 ORDER BY...
を置くとき、それは働いているが、私は
$range = $_POST['range'];
、そう$_POST
好きではない$_GET
を使用する静的範囲あなたがpost
メソッドを使用している
答えのいずれかが正解であった場合は正解としてください –