2013-12-11 5 views
0
<?php 
$query = mysql_query("SELECT products_zipcode FROM products ")or die(mysql_error()); 

while($row = mysql_fetch_array($query)) 
{ 
    $zip = $row['products_zipcode']; 
} 
?> 

здесь как присвоить $ зип значение переменной в Java Script переменной var address = zip;Как присвоить переменной PHP, чтобы переменная JavaScript

<script type="text/javascript"> 
function codeAddress(zip) { 

    var address = zip; 
    geocoder.geocode({ 'address': address}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
     map.setCenter(results[0].geometry.location); 
     var marker = new google.maps.Marker({ 
      map: map, 
      position: results[0].geometry.location 
     }); 
    } else { 
     alert('Geocode was not successful for the following reason: ' + status); 
    } 
    }); 
</script > 

Здесь изменил код в за ответы

<?php 
$conn = mysql_connect("localhost", "root", "") or die(mysql_error()); 
mysql_select_db("coachup_db1") or die(mysql_error()); 
?> 

<?php 
$query = mysql_query("SELECT products_zipcode FROM products ")or die(mysql_error()); 

while($row = mysql_fetch_array($query)) 
{ 
    $zip[] = $row['products_zipcode']; 

// echo("codeAddress($zip)"); 
} 
?> 
    <div id="map-canvas"></div> 
    <style> 
    #map-canvas { 
     width: 300px; 
     height: 200px; 
     margin: 0px; 
     padding: 0px; 
     border: 0px; padding: 0px; 
     } 

    </style> 
    <script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script> 
    <script type="text/javascript"> 

var geocoder; 
var map; 
function initialize() { 
    geocoder = new google.maps.Geocoder(); 
    var latlng = new google.maps.LatLng(-34.397, 150.644); 
    var mapOptions = { 
    zoom: 4, 
    center: latlng 
    } 
    map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions); 
} 

function codeAddress() { 

    var address = <?php echo json_encode($zip); ?>; 
    var overallcontent = <?php echo json_encode($zip); ?>; 
    geocoder.geocode({ 'address': address}, function(results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
     map.setCenter(results[0].geometry.location); 
     var marker = new google.maps.Marker({ 
      map: map, 
      position: results[0].geometry.location 
     }); 
    } else { 
     alert('Geocode was not successful for the following reason: ' + status); 
    } 
    }); 
} 

google.maps.event.addDomListener(window, 'load', initialize); 
google.maps.event.addDomListener(window, 'load', codeAddress); 

    </script> 
+1

'вар адрес =«»;' –

+1

я не знаю, как часто этот вопрос был дан в один месяц им зарегистрирован на SO. –

+0

pd: поскольку, наконец, вы получаете массив javascript, я думаю, вам нужно итерации с помощью цикла, чтобы получить весь почтовый индекс. –

ответ

2

, вы можете назначить переменную php переменной javascript, используя следующий метод.

var address =<?php echo json_encode($zip) ?>; 

с другой стороны, если вы хотите назначить массив PHP в переменную JavaScript, чем:

var overallcontent = <?php echo json_encode($type); ?>; 

где $type является массивом PHP.

+0

Хотя для предотвращения инъекции кода безопаснее использовать 'json_encode'. –

+0

+1 для этого markel :) –

+0

Не только с массивом, используйте его с * всеми * переменными, как объясняется в бесчисленных ответах на бесчисленные вопросы такого же рода. –

1
var address = "<?php echo $zip ?>"; 
+0

Я не думаю, что это будет работать в двойных байт, php-интерпретатор не распознает php-теги в двойных кавычках. –

+0

Но это сработало для меня. – user2936213

+1

@YUNOWORK он будет работать, сервер начнет выполнение скриптов php, когда он впервые встретит тег

0

Просто echo его и сохраните в переменной JavaScript. Вот как:

var address = "<?php echo $zipCode' ?>"; 
Смежные вопросы