Başlığına Javascript içinde PHP döngü - Bu kod tüm geçerlidir?

4 Cevap php

Sevgili StackOverflowers Merhaba

I am new to web programming and finding the server-client mixture confusing. I have written very simple code which accepts a PHP 2D array [index][keys] (from a query) to just draw markers on a Google map (JavaScript). It works. But it doesn't look right to me! Is this indeed the correct way to pass the values from my PHP array into the Javascript functions?

Thanks in advance Ari


Yine netlik için düzenlemek, 4 boşluk, tavsiye için teşekkür eklendi!

<head>

<meta http-equiv="content-type" content="text/html; charset=utf-8">

<title><?php echo $title;?></title

<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=false&amp;key=GoogleMapsKey"
type="text/javascript">

</script>

<script type="text/javascript"  language="JavaScript">

var m_map;

//Add one marker. 
function addmarker(iLat, iLon)
{ 
 var point = new GLatLng(iLat, iLon);
 m_map.addOverlay(new GMarker(point)); 
}


function initialize() 

{

if (GBrowserIsCompatible()) 
{

    m_map = new GMap2(document.getElementById("map_canvas"));
    m_map.setCenter(new GLatLng(37.4419, -122.1419), 1);
    m_map.setUIToDefault();

    <?php foreach($query as $item):?>

    var oLat = '<?php  echo $item['lat'];?>';
    var oLon = '<?php  echo $item['lon'];?>';

    addmarker(oLat, oLon);  

    <?php endforeach;?>

}
}// End initialize() 

</script>
</head>

<body onload="initialize()" onunload="GUnload()">
<div id="map_canvas" style="width: 500px; height: 300px"   ></div>

4 Cevap

<?php 
foreach($query as $item):?>

    var oLat = '<?php  echo $item['lat'];?>';
    var oLon = '<?php  echo $item['lon'];?>';

    addmarker (Olat, Olon);

    <?php endforeach;?>

The above code segment should provide following output if you have $query variable set as $query=array(array('lat'=>2,'lon'=>4),array('lat'=>5,'lon'=>6),array('lat'=>7,'lon'=>8),array('lat'=>9,'lon'=>1));


var oLat = '2'; var oLon = '4';

addmarker (Olat, Olon);

var oLat = '5'; var oLon = '6';

addmarker (Olat, Olon);

var oLat = '7'; var oLon = '8';

addmarker (Olat, Olon);

var oLat = '9'; var oLon = '1';

addmarker (Olat, Olon);

Eğer sayfa html kaynağını kontrol edin.

Senin kod ile doğal olarak yanlış bir şey var gibi görünmüyor. Eğer çıkış sağlayabilir?

Tarayıcı sürece geçerli JavaScript olduğu gibi, değerler, yapılar, hatta kod oraya nasıl olur umursamıyor.

Ben yazmak isterim:

<?php foreach($query as $item):?>

addmarker('<?php echo $item['lat'];?>', '<?php echo $item['lon'];?>');  

<?php endforeach;?>

daha kısa olduğunu ve bir kez daha iki JS değişkenlerin daha beyan değil çünkü.