在页面加载时将变量从PHP传递到jQuery

时间:2011-05-31 13:08:52

标签: php jquery variables

我正在尝试从网址中获取引用变量,并在用户首次访问该网页时查询我的数据库。 然后我需要把这个结果和情节放在谷歌地图上。

<?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 个答案:

答案 0 :(得分:2)

像这样的东西

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

现在markers JavaScript变量可用于上述任何脚本。

您可以使用

从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 :(得分:1)

符合

print_r($row);

放:

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

这是将数据传递给JavaScript的方法。 ;)

答案 2 :(得分:0)

以下代码将您的数据传递给javascript变量:'data'

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