I can pull this information from my MySQL table and display what I need to, but I would like some help on how to refresh this data every 5 seconds or so with the current code that I have. There isn't much data to show, just like 5 or 8 markers at any given time. I have included my current code that I use to pull the data. I am sort of OK with PHP/MySQL but very new to Google Maps. i try to add the code as to refresh the google map setInterval(function() { $.ajax({ url: '/localhost/my/site.php', data: {action: 'test'}, type: 'post', success: function(output) { alert('hi'); // change the DOM with your new output info } }); }, 5000); but still can't. What's wrong with my code? Is it possible to get new data from mysql when mysql database updated? <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js? sensor=true" /></script> <script type='text/javascript'> //This javascript will load when the page loads. jQuery(document).ready(function ($) { setInterval(function () { $.ajax({ url: '/localhost/my/site.php', data: { action: 'test' }, type: 'post', success: function (output) { alert('hi'); // change the DOM with your new output info } }); }, 5000); //Initialize the Google Maps var geocoder; var map; { if (infos.length > 0) { infos[0].set("marker", null); infos[0].close(); infos.length = 0; } var markersArray = []; var infos = []; geocoder = new google.maps.Geocoder(); var myOptions = { zoom: 8, mapTypeId: google.maps.MapTypeId.ROADMAP } //Load the Map into the map_canvas div var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); //Initialize a variable that the auto-size the map to whatever you are plotting var bounds = new google.maps.LatLngBounds(); //Initialize the encoded string var encodedString; //Initialize the array that will hold the contents of the split string var stringArray = []; //Get the value of the encoded string from the hidden input encodedString = document.getElementById("encodedString").value; //Split the encoded string into an array the separates each location stringArray = encodedString.split("****"); var x; for (x = 0; x < stringArray.length; x = x + 1) { var addressDetails = []; var marker; //Separate each field addressDetails = stringArray[x].split("&&&"); //Load the lat, long data var lat = new google.maps.LatLng(addressDetails[1], addressDetails[2]); var image = new google.maps.MarkerImage(addressDetails[3]); //Create a new marker and info window var marker = new google.maps.Marker({ map: map, icon: image, position: lat, content: addressDetails[0] }); //Pushing the markers into an array so that it's easier to manage them markersArray.push(marker); google.maps.event.addListener(marker, 'click', function () { closeInfos(); var info = new google.maps.InfoWindow({ content: this.content }); //On click the map will load the info window info.open(map, this); infos[0] = info; }); //Extends the boundaries of the map to include this new location bounds.extend(lat); } //Takes all the lat, longs in the bounds variable and autosizes the map map.fitBounds(bounds); //Manages the info windows function closeInfos() { if (infos.length > 0) { infos[0].set("marker", null); infos[0].close(); infos.length = 0; } } }); </script> </head> <body> <div id='input'> <?php //Initialize your first couple variables $encodedString="" ; //This is the string that will hold all your location data $x=0 ; //This is a trigger to keep the string tidy //Now we do a simple query to the database // DB INFO CONNECTION IS HERE AND WORKS $result=m ysql_query( "SELECT * FROM `ulocation` WHERE `ul_lat`!='' AND `ul_long`!='' AND `ul_onduty`='1'",$db1); //Multiple rows are returned while ($row=m ysql_fetch_array($result, MYSQL_NUM)) { //This is to keep an empty first or last line from forming, when the string is split if ( $x==0 ) { $separator="" ; } else { //Each row in the database is separated in the string by four * 's $separator = "****"; } $status='0 '; $cadd = sql::getval('cal_address ', 'call ', "WHERE `cal_id`='$row[14] '"); $num = sql::getval('cal_num ', 'call ', "WHERE `cal_id`='$row[14] '"); $pcond = sql::getval('cal_pcond ', 'call ', "WHERE `cal_id`='$row[14] '"); $list="$num $cadd"; //Saving to the String, each variable is separated by three &'s $encodedString=$ encodedString.$separator. "<table border=0 width='350' height='20' class='maincolm' cellpadding=0 cellspacing=0><td align=left valign=top><h2></h2></td> <tr><td width=100%><font size=3 face=arial><p><b>".$row[2]. "</b>". "<br>Address: $list". "<br>Call Type: $pcond". "<br><br>Lat: ".$row[5]. "<br>Long: ".$row[6]. "</td></table>". "</p>&&&".$row[5]. "&&&".$row[6]. "&&&".$row[8]. "&&&".$row[14]; $x=$ x + 1; } ?> <input type="hidden" id="encodedString" name="encodedString" value="<?php echo $encodedString; ?>" /> <? echo "<body oncontextmenu=\"return false\ " style=\"overflow: hidden; \ " topmargin=0 leftmargin=0 rightmargin=0 bottommargin=0>"; <div id=\ "map_canvas\"> </div> </body> </html>"; ?> any help will be appreciated
First, learn to use the forum. In the input box, you'll see a button named "insert" - when you click on it, you can wrap your code in code-tags, which will make our life easier. Now go edit your post. You're also in the wrong forum. This has nothing to do with php and mysql, but with ajax/javascript. The correct forum would be the javascript forum, subsequently the jquery subforum, if you're using jquery.