在页面加载时将变量从PHP传递到jQuery
我试图从url中获取一个引用变量,并在用户首次访问页面时查询我的数据库。 然后我需要将这些结果绘制在谷歌地图上在页面加载时将变量从PHP传递到jQuery,php,jquery,variables,Php,Jquery,Variables,我试图从url中获取一个引用变量,并在用户首次访问页面时查询我的数据库。 然后我需要将这些结果绘制在谷歌地图上 <?php include('storelocator/db/config.php'); include('storelocator/db/db.php'); if(isset($_GET['ref'])){ $ref = stripslashes($_GET['ref']); $sql = "SELECT *
<?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);
}
?>
这是我在索引页顶部的代码,它运行良好,打印结果正确。我只是不知道如何将这些结果传递给jQuery进行打印。(我知道如何绘图,我基本上需要知道如何将变量$row['latlng']传递给jQuery。)
谢谢符合
print_r($row);
付诸表决:
echo';
echo'var latlng=“”.$row['latlng'].“;”;
回声';
这是将数据传递给JavaScript的方法 像这样的
<script type="text/javascript">
var markers = <?php echo json_encode($row) ?>;
</script>
在这里,您应该保护您的查询不受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));
下面的代码将数据传递给javascript变量:“data”
echo "<script>var data='".$row['latlng']."';</script>"
echo“var data=”。$row['latlng']。”;“
+1用于使用json_encode处理特殊字符的转义。感谢您的快速回复。回显变量是有效的,我想知道这是否被认为是不好的做法,因为现在我的页面以一个元素开头。显而易见的答案是在文档中适当的位置进行“回显”是有意义的。干杯,大脑今天显然没有打开
$ref = get_magic_quotes_gpc() ? stripslashes($_GET['ref']) : $_GET['ref'];
$sql = sprintf("SELECT * FROM `markers` WHERE `ref` = '%s'",
mysql_real_escape_string($ref));
echo "<script>var data='".$row['latlng']."';</script>"