Take the 2-minute tour ×
Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required.

I am very new to php. I have a simple website that loops through a mysql database and draws polygons for every row. It also assigns a custom attribute (name) to every polygon that the user can see when he clicks the polygon.

When a user clicks the polygon, he should see the value of variable "bname"

The code works perfectly when I assign bname to a coordinate:

var bname = ('.$row[coord1].');

The code fails when I assign bname to another column that is a string:

var bname = ('.$row[name].');

All data in the database is text format, I suspect that maybe I am using the wrong syntax to return a string value from the database? I need to assign bname to the name column in the database..

This is the full code:

$findmap= 'SELECT * FROM build2';

if(!$result = $con->query($findmap)){
die('There was an error running the query 
    [' . $con->error . ']');
} else {
while ($row = $result->fetch_assoc()) {

  echo '        
        var polypath = [new google.maps.LatLng('.$row[coord1].'),
                new google.maps.LatLng('.$row[coord2].'),
                new google.maps.LatLng('.$row[coord3].'),
                new google.maps.LatLng('.$row[coord4].'),
                new google.maps.LatLng('.$row[coord5].'),
                new google.maps.LatLng('.$row[coord6].'),
                new google.maps.LatLng('.$row[coord1].')
                ];


        var bname = ('.$row[name].');

        var dxbmap = new google.maps.Polygon({
        custom: bname,
        path:polypath,
        strokeColor:"#0000FF",
        strokeOpacity:0.8,
        strokeWeight:1,
        fillColor:"#0000FF",
        fillOpacity:0.1

        });

        dxbmap.setMap(map);

        google.maps.event.addListener(dxbmap, "click", function() {
        alert(this.custom);

    });

';
}
}
?>
share|improve this question
    
Try like :- var bname = ("$row['name']"); Or var bname = ($row['name']); and check. –  anant kumar singh 18 hours ago
    
If it is a string I think it needs to be in quotes. Check the developer console, what is the error being thrown? –  chris85 17 hours ago
    
If I understand your question, then you need to add <script> tag before "var polypath" as well close it after "});" and for PHP db variable you should use like $row["coord2"] instead of $row[coord2] –  Ghanshyam Gohel 17 hours ago

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.