Trebam pomoć oko Javascript PHP Ajax

Pozdrav svima
Zamolio bih Vas za pomoć. Što se tiče javascripta totalni sam tutlek, pa mi i ovo predstavlja problem.
imam jedan javascript file script.js
u njemu stoji:

*(function(window, $) {*
  
  *var $mapster = $('#map-canvas').mapster(Mapster.MAP_OPTIONS);*
  
  *$mapster.mapster('addMarker', {*
    *lat: 45.8132001,*
    *lng: 16.061986,*
    *content: 'Jedan',*
  *});*  
   *$mapster.mapster('addMarker', {*
    *lat: 45.8132001,*
    *lng: 16.178716,*
    *content: 'drugi',*
  *});*  
*}(window, jQuery));*

e sada… Meni ovi brojevi se trebaju čitati iz baze podataka i koliko ima redova toliko treba ’addMarker’ tj.
$mapster.mapster(‘addMarker’, {
lat: 45.8132001,
lng: 16.061986,
content: ‘Jedan’,
});
Koliko sam shvatio meni treba php(mysql) za izvuć podatke iz baze, međutim nije mi jasno kako da to napravim da mi se iz fajla npr. read_db.php ti podaci prebace u file script.js na mjesto koje mi je potrebno. Nisam baš najbolji u objašnjavanju nadam se da ste shvatili…
Unaprijed zahvaljujem na pomoći

Najjednostavnije ti je ovako nesto sa php-om (naravno ti ovaj php array generiras dinamicki iz baze:

<?php

$markers = array(
	array(
		'lat'     => 45.8132001,
		'lng'     => 16.061986,
		'content' => 'Jedan'
	),
	array(
		'lat'     => 45.8132001,
		'lng'     => 16.178716,
		'content' => 'Jedan'
	),
);

?>

<script type="text/javascript">
	window.mapsterMarkers = <?php echo json_encode( $markers ); ?>;
</script>

I onda u script.js napravis ovako:

+( function( window, $ ) {

	$( function() {

		var $mapster = $( '#map-canvas' ).mapster( Mapster.MAP_OPTIONS ),
			markers = window.mapsterMarkers || [];

		$.each( markers, function( i, marker ) {

			$mapster.mapster( 'addMarker', marker );

		});

	});

})( window, jQuery );
1 Like

hvala, probat ću, ali mi sada i dalje nije jasno gdje se u script.js poziva ovaj php file read_db.php? Ili mi logika kriva :slight_smile:

U script.js ne trebas pozivati nikakav php file.

Kada uz pomoc php-a napravis print na stranicu:

<script type="text/javascript">
	window.mapsterMarkers = <?php echo json_encode( $markers ); ?>;
</script>

To stavlja sve tvoje markere iz php $markers varijable u javascript varijablu (kao dio window objekta).

S obzirom da je u Javascriptu window objekt globalan (u smislu da mu mozes pristupiti iz bilo kojeg Javascript file-a odnosno scope-a), samim time sto ti definiras window.mapsterMarkers inline, tom istom podatku mozes pristupiti u script.js

Sorry, slab sam u objasnjavanju.

Nisam te baš najbolje shvatio, ali vjerujem da je to zbog mog neznanja funkcioniranja javascripta, a ne tvog objašnjavanja…
Međutim iskopirao sam ove tvoje kodove i stavio u php fajl u kojem mi se prikazuje google mapa ispod body-a i ne prikazuje mi se ono što bi trebalo, tj. ne prikazuje mi se ništa…

Da li je navedena stranica online, ako je mozes mi poslati url na privatnu poruku da pogledam.

Ako nije, znaci dodao si tocno ovaj moj php kod, i takodjer zamjenio sadrzaj script.js file-a sa ovim mojim?

Mislim da ga buni to sto ne zna kako generirati podatke iz baze u array.

ne, to kužim, zasad su “tvrdo” upisani podaci, apazinjan je riješio stvar, nisam znao da datoteka u iframeu nema pristup javascript varijablama, pa sam morao uključiti ove kodove u source datoteki, što ranije nisam učinio… Tnx, apazinjan… U rulez

I naravno taj kod koji ti je dao cjenjeni kolega @apazinjan ne zelis koristiti na produkcijskom serveru

Mozes malo pojasniti? Napravio sam neki propust?

Licno bih JS code ostavio u JS fajlu:

var markers = $.get( "php_get_json_data.php", function( data ) {
                  return data;
              });

Naravno. ali jedno je kad sam radis i znas a drugo je kada nekome drugome moras na najjednostavniji naci pokazati.

Mislio sam da i ovaj mapster ne upada u najjednostavnije primjere, pa reko’ da mu ponudim extra mile.
Inace, ucinilo mi se da je to nacelno i bila zamjerka @creatifcode -a.
Nesto mi ne ide potraga za ovim plugin-om (je l’ to ovaj image mapster?), pitam se da li bi mogao i sam niz da se ubaci direktno kao niz nizova ili niz objekata bez potrebe vrcenja $.each() petlje.