Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> zmienna php do js
kujawska
post
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 19.02.2008

Ostrzeżenie: (50%)
XXX--


Mam problem i proszę o pomoc w rozwiązaniu.
Otóż w php pętlą wyświetlam adresy z mysql.Chcę do każdego adresu dodać mapkę poprzez geocoding w locie.Dodałem href w pętli do js a tam do właściwej zmiennej <? echo $mc; ?>.
Owszem działa ale niezależnie,który href odpalić zawsze wyświetla mapkę ostatniej pozycji z pętli.
Nie znam js ale przypuszczam,że problem jest prozaiczny.

Pętla tak wygląda:
while($wiersz = mysql_fetch_assoc($wynik)) {
echo "<div style=\"background:yellow;margin:2px;\">";
echo "<div>{$wiersz['miejscowosc']}</div>";
echo "<div>{$wiersz['ulica']}</div>";

$mc=$wiersz['miejscowosc'];
$ua=$wiersz['ulica'];
echo "<a href=\"#\" onclick=\"mapaStart()\">Mapka</a>";

echo "</div>";
}

A js tak:

<div id='mapka'>

<script type='text/javascript'>
<!--
// zmienne globalne
var geo;
var mapa;

function mapaStart()
{
if(GBrowserIsCompatible())
{
mapa = new GMap2(document.getElementById('mapka'),{mapTypes: [G_NORMAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP]});
mapa.setCenter(new GLatLng(53.429805, 14.537883), 15);

// kontrolki mapy
mapa.addControl(new GLargeMapControl());
var typyMapy = mapa.getMapTypes();
typyMapy[0].getName= function() { return 'Mapa';}
typyMapy[1].getName = function() { return 'Satelita';}
typyMapy[2].getName = function() { return 'Hybryda';}
mapa.addControl(new GMapTypeControl());
mapa.addControl(new GOverviewMapControl());
mapa.addControl(new GScaleControl());

// nowy obiekt do geokodowania
geo = new GClientGeocoder();

var adres= '<? echo $mc; ?>';

geo.getLatLng(adres,function(punkt)
{
if (!punkt)
{
// jeśli punkt nie istnieje, to adres nie został znaleziony
alert(adres + ' nie został znaleziony!');
}
else
{
// centrujemy na znalezionym punkcie
mapa.setCenter(punkt, 15);

// dodajemy w tym miejscu marker
var ikona = new GIcon();
ikona.image='http://maps.google.com/mapfiles/kml/pal3/icon52.png';
ikona.shadow='';
ikona.iconSize=new GSize(32,32);
ikona.iconAnchor=new GPoint(16,16);
ikona.infoWindowAnchor=new GPoint(16,16);

var marker = new GMarker(punkt,{icon: ikona, title: adres});
mapa.addOverlay(marker);

// i otwieramy dymek z adresem
marker.openInfoWindowHtml('<strong>Poszukiwany adres</strong><br />'+adres);
}
});
}
}
-->
</script>


</div>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
windman
post
Post #2





Grupa: Zarejestrowani
Postów: 184
Pomógł: 13
Dołączył: 7.01.2008

Ostrzeżenie: (0%)
-----


logiczne, gdyż po zakończeniu pętli zmienna $mc ma ostatnią wartość jaką wyrzucila pętla.

Jedno rozwiązanie to takie, aby wartość zmiennej $ms przenieść do js jako argument funkcji mapaStart()

onclick=\"mapaStart('<?=$zmienna?>')\

Ten post edytował windman 19.02.2008, 20:10:08
Go to the top of the page
+Quote Post
kujawska
post
Post #3





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 19.02.2008

Ostrzeżenie: (50%)
XXX--


Spróbuję ale co zmienić w js?
Go to the top of the page
+Quote Post
windman
post
Post #4





Grupa: Zarejestrowani
Postów: 184
Pomógł: 13
Dołączył: 7.01.2008

Ostrzeżenie: (0%)
-----


funkcja powinna wyglądać tak

mapaStart(adres) /dodałem tylko argument adres
z dalszej części skryptu wywal: var adres
a linki wyświetlaj tak:

echo "<a href=\"#\" onclick=\"mapaStart('<?=$twoja_zmienna?>')\">Mapka</a>";

powinno być oczywiście tak:
echo "<a href=\"#\" onclick=\"mapaStart('$twoja_zmienna')\">Mapka</a>";


powinno działać

Ten post edytował windman 19.02.2008, 20:16:11
Go to the top of the page
+Quote Post
kujawska
post
Post #5





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 19.02.2008

Ostrzeżenie: (50%)
XXX--


DZIAŁA!!! WINDMAN JESTEŚ GENIALNY.STOKROTNE DZIĘKI
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 18:51