How can PHP be used to display multiple data points on a Google map using coordinates from a database?

To display multiple data points on a Google map using coordinates from a database, you can retrieve the coordinates from the database using PHP and then format them into a JavaScript array to be used in the Google Maps API. You can loop through the database results to create markers for each data point on the map.

<?php
// Connect to your database
$connection = mysqli_connect('localhost', 'username', 'password', 'database');

// Retrieve coordinates from the database
$query = "SELECT * FROM locations";
$result = mysqli_query($connection, $query);

// Create a JavaScript array for the coordinates
$coordinates = array();
while($row = mysqli_fetch_assoc($result)) {
    $coordinates[] = "['{$row['name']}', {$row['lat']}, {$row['lng']}]";
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>Multiple Data Points on Google Map</title>
    <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY"></script>
</head>
<body>
    <div id="map" style="height: 400px;"></div>
    <script>
        var locations = [<?php echo implode(',', $coordinates); ?>];

        var map = new google.maps.Map(document.getElementById('map'), {
            zoom: 10,
            center: new google.maps.LatLng(0, 0),
            mapTypeId: google.maps.MapTypeId.ROADMAP
        });

        var infowindow = new google.maps.InfoWindow();

        var marker, i;

        for (i = 0; i < locations.length; i++) {
            marker = new google.maps.Marker({
                position: new google.maps.LatLng(locations[i][1], locations[i][2]),
                map: map
            });

            google.maps.event.addListener(marker, 'click', (function(marker, i) {
                return function() {
                    infowindow.setContent(locations[i][0]);
                    infowindow.open(map, marker);
                }
            })(marker, i));
        }
    </script>
</body>
</html>