ajax처리값을 변수로 받아서 쿼리문에 담을려고합니다..

ajax처리값을 변수로 받아서 쿼리문에 담을려고합니다..

QA

ajax처리값을 변수로 받아서 쿼리문에 담을려고합니다..

본문

안녕하세요.
 

ajax로 값을 받았는데 이걸 어떻게 해야 쿼리문에 사용할 변수로 처리할수있을까요?


test.php

<?php
$lat = ""; //ajax값을 여기 변수로 담아야하는데 안되네 ㅠㅠ

$lon = ""; //ajax값을 여기 변수로 담아야하는데 안되네 ㅠㅠ
?>

<script>
$(document).ready(function(){    
    navigator.geolocation.getCurrentPosition(function(pos) {
        val lat = pos.coords.latitude;
        val lon= pos.coords.longitude;

        //alert("현재 위치는 : " + position.coords.latitude + ", "+ position.coords.longitude);
        $.ajax({
            type:'POST',
            url:'myxy.php',
            data:'lat='+lat+'&lon='+lon,

            success: function(data) {
                console.log(data);
              // something to do...
            }, error: function(xhr, status, error) {
              console.log(xhr, status, error); 
            }
        });
    });
});    
</script>

 

<?php

$row = sql_fetch(" SELECT *, (6371*acos(cos(radians($lat))*cos(radians(wr_1))*cos(radians(wr_2) - radians($lon))+sin(radians($lat))*sin(radians(wr_1)))) AS distance FROM g5_write_test HAVING distance <= 10 ORDER BY distance LIMIT 0,40 ");

?>


myxy.php 

<?php 

if(!empty($_POST['lat']) && !empty($_POST['lon'])){    
    $lat = $_POST['lat'];
    $lon= $_POST['lon'];

}

echo $lat;
echo $lon; 

?>

 

조그만 조언좀 부탁드리겠습니다..

 

감사합니다!.

이 질문에 댓글 쓰기 :

답변 3

자바스크립트로 구해온 값을 post, get , ajax 사용 하지않고 php변수에 바로 담을 수도 없을 뿐 아니라

무엇보다 php와 자바스크립트가 동일 페이지에 있으면 php가 실행 되고 난 후 자바스크립트가 실행 된다는것을 염두에 두어야 합니다

php 코드가 자바스크립트 뒤에 나온다고 php에 값을 넣을 수 잇는 것이 아닙니다

 

myxy.php에 자바스크립트 후의 php 쿼리 코드를 넣어서 실행한 후 값을 ajax로 넘겨 받으면 될 것인데요?

 

 

배열이나  json 으로 넘겨야 합니다.

myxy.php 파일에서 아래와 같이 넘기고

echo array($lat, $lon);

 

받는 부분에서 아래와 같이 받으면 됩니다.

data[0];

data[1];

페이지에 내용이 노출 되는 순서가 

-> php 

-> js (jquery)

이렇다 고보시면됩니다. 

쿼리에 외부 사이트에서 ajax으로 불러오는 값을 활용하려면 

 

php 단에서 cURL 이라는 방법을 이용하여 변수를 불러온 후 쿼리에 활용하며 됩니다.

 

curl 문서는 여기를 확인 하세요 

https://www.runoob.com/php/php-ref-curl.html

 

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 1,020
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT