将PHP放在Javascript中

时间:2011-09-21 14:11:32

标签: php javascript

我似乎无法让PHP在Javascript标记中回显:

places.push(new google.maps.LatLng("<?php echo the_field('lat', 1878); ?>"));

我做错了什么?

5 个答案:

答案 0 :(得分:2)

PHP在您执行页面时起作用,它应该可以工作。 请注意,运行JS函数时php不会执行。 另请确保您确实拥有the_field功能。

答案 1 :(得分:2)

你没有引号试过吗?

places.push(new google.maps.LatLng(<?php echo the_field('lat', 1878); ?>));

答案 2 :(得分:1)

我怀疑你在LatLng方法参数中有“引号”,而不应该有。

你的php应该输出一个字符串,如'50 .123123123,12.123144'(没有'引号)。 LatLng方法需要2个值。

places.push(new google.maps.LatLng(<?php echo the_field('lat', 1878); ?>));

试试。

答案 3 :(得分:0)

如果您希望使用标记填充Google地图作为数据库查询的结果,您可能希望将其包装在JSON Web服务中。简单的事情:

<?php
// file to query database and grab palces
// do database connection
$places = array();
$sql = "SELECT * FROM places";
$res = mysql_query($sql);
while ($row = mysql_fetch_object($res)) {
    $places[] = $row;
}

header('Content-Type: application/json');
echo json_encode($places);
exit;

然后在您的JavaScript文件中:

// get places
$.getJSON('getplaces.php', function(response) {
    for (var i = 0; i < response.length; i++) {
        place[] = response[i];
        places.push(new google.maps.LatLng(place.lat, place.lng));
    }
});

答案 4 :(得分:-1)

如果我理解你要做的事情(可能需要对你的问题进行更多解释),那么这可能是你的答案:

places.push(new google.maps.LatLng(<?php echo '"' . the_field('lat', 1878) . '"' ?>));

编辑:删除了;