index.php에 있습니다. 입력 데이터 (범위)를 변수 nova.php에 입력하고 싶습니다. 사용할 때 $ range = $ _GET [ 'range']; nova.php에서 보여줍니다 : 정의되지 않은 인덱스 : 범위. 제 생각에는 데이터와 같은 것을 넣어야합니다 : myAjax 함수에 {range : range}. 아약스를 통해 입력에서 변수를 외부 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에 따라 인근 지역을 찾고있다 : 그러나 물론 내 아약스
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
방법을 사용
답변 중 하나라도 맞으면 정답으로 표시하십시오. –