Передача переменной из PHP в jQuery при загрузке страницы - PullRequest
1 голос
/ 31 мая 2011

Я пытаюсь взять ссылочную переменную из URL и выполнить запрос к моей базе данных, когда пользователь впервые заходит на страницу.Затем мне нужно взять этот результат и нанести на карту Google.

<?php 
    include('storelocator/db/config.php');
    include('storelocator/db/db.php');  

    if(isset($_GET['ref'])){

        $ref = stripslashes($_GET['ref']);

        $sql = "SELECT * FROM `markers` WHERE `ref` = \"".$_GET['ref']."\"";

        $result = mysql_query($sql);    
        $row = mysql_fetch_row($result);
        print_r($row);
    }
?>

Это мой код в верхней части моей страницы индекса, он работает нормально, print_r дает правильные результаты.Я просто не уверен, как передать эти результаты в jQuery для печати.(Я знаю, как строить, мне нужно знать, как передать переменную $ row ['latlng'] в jQuery.)

спасибо

Ответы [ 3 ]

2 голосов
/ 31 мая 2011

Примерно так

<script type="text/javascript">
var markers = <?php echo json_encode($row) ?>;
</script>

Теперь переменная JavaScript markers будет доступна для любых сценариев, следуя приведенному выше.

Вы можете получить доступ к ассоциативным записям из массива PHP $row.используя

var latlng = markers.latlng;

Пока мы здесь, вы должны защитить свой запрос от внедрения SQL.Хотя я всегда рекомендую использовать PDO и привязку параметров, быстрое решение для вас будет

$ref = get_magic_quotes_gpc() ? stripslashes($_GET['ref']) : $_GET['ref'];
$sql = sprintf("SELECT * FROM `markers` WHERE `ref` = '%s'",
               mysql_real_escape_string($ref));
1 голос
/ 31 мая 2011

В соответствии с

print_r($row);

положить:

echo '<script type="text/javascript">';
echo 'var latlng = "' . $row['latlng'] . '";';
echo '</script>';

Это способ передачи данных в JavaScript. ;)

0 голосов
/ 31 мая 2011

следующий код передает ваши данные в переменную javascript: 'data'

echo "<script>var data='".$row['latlng']."';</script>"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...