Intereting Posts

Лучший способ интегрировать результат Javascript с PHP

ОК.

В основном я использую API Карт Google – это Javascript.

Мой сайт работает с PHP по большей части.

Мое намерение состоит в том, чтобы звонить в API Карт Google, чтобы получить расстояние между различными иными геокодированными долготами и точками широты. Затем я хочу показать их своим пользователям.

Пример.

У меня есть (в php):

$home=array(latitude,longitude); 

У меня также есть результат mysql_query из моей базы данных местоположений.

Как таковой я делаю

 while($result=mysql_fetch_array($results)){ //OUTPUT THE GOOGLE MAPS JAVASCRIPT JARGON WHICH WILL FIND THE DISTANCE //BETWEEN MY HOME AND THE DB LOCATIONS } в while($result=mysql_fetch_array($results)){ //OUTPUT THE GOOGLE MAPS JAVASCRIPT JARGON WHICH WILL FIND THE DISTANCE //BETWEEN MY HOME AND THE DB LOCATIONS } 

В примере кода значение просто выводится в div, устанавливая внутренний html указанного div на значение ответа определенного запроса (это – то, где мои знания JS становятся туманными).

В идеале я хочу получить это значение в php var.

В любом случае:

 $var=response from js thing; 

То, что я сделал на данный момент, по существу, использует php. Я создал правильное количество div с именами «response1», «response2» и т. Д., Которые JS заполняет … но это не похоже на самый логичный способ делать вещи.

Надеюсь, это имеет смысл. благодаря

Для отправки ответа с JavaScript на PHP требуется AJAX:

Если вы можете использовать JQuery, который является довольно стандартным, это очень просто. Это дословно из одного из уроков, которые я написал для своего курса PHPPro:

receiveNumbers.php

 <?php if (isset($_GET['sentNums'])) { $sentNumbers = filter_input(INPUT_GET, 'sentNums', FILTER_SANITIZE_STRING, FILTER_FLAG_STRIP_HIGH); // Convert to array. $numbers = split(', ', $sentNumbers); // Echo out. echo json_encode($numbers). } 

index.php

 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Graph Sort | PHPExperts.pro</title> <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script> <script type="text/javascript" src="js/jquery.json-2.2.min.js"></script> <script type="text/javascript"> var myNumbers = '5, 10, 22, 11'; var receivedNumbers; <?php // Send data from JavaScript -> PHP. if (!isset($_GET['myData'])) { ?> jQuery.getJSON('receiveNumbers.php?sentNums=' + myNumbers, function(jsonReceived) { receivedNumbers = jQuery.parseJSON(jsonReceived); alert(receivedNumbers); // Expected [5,10,22,11] }); <?php } ?> </script> </head> </html> 

Я бы рекомендовал взглянуть на эту часть API Карт Google.

Да! Я сделал это только на днях:

в вашем файле PHP сделайте это (взято прямо из моего кода):

 <?php $numbers = array(5, 2, 10, 15); /* Model and stuff here */ ?> <html> <head> <script type="text/javascript"> // We're going to put all the info we need here, as a JS global variable. // If you need even more control, simply fetch it via JQuery from a PHP script that does the following. var numbers = <?php echo json_encode($numbers); ?> alert(numbers); // Expected output: [5,2,10,15] alert(numbers[2]); // Expected output: 10 </script> </head> </html> 

Ура!