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);
});
';
}
}
?>
You need to check your console in the browser for JS errors which I think is what you are encountering. Try this
With your current code your console log I think would be displaying something like
The parenthesis don't encapsulate a string, is that what you were trying to do with those?