oh_maestro
asked on
How to get multiple addresses from a SQL database into an embedded Google Map?
I have a Google map embedded on my site that dynamically generates by taking the address and zip code from a SQL database. I am not bothering w/ coordinates, and I am happy with the results so far. The code I use is listed below (with a made-up address and zip, normally would get value from the database), and works just fine for one address.
However, there are some pages that will result in multiple addresses, and I'd like to generate multiple markers on the map to represent those addresses. I am using PHP. Any ideas?
However, there are some pages that will result in multiple addresses, and I'd like to generate multiple markers on the map to represent those addresses. I am using PHP. Any ideas?
$address = "111 South Main Street";
$zip = 55555;
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?
f=q&source=s_q&hl=en&geocode=&q=<?php echo $address;?>,+<?php echo $zip;?>&ie=UTF8&z=14&output=embed">
</iframe>
ASKER
I don' t have a problem getting the correct address(es) from the database.
Say the query would return 3 addresses and zips.
I would like to have 3 markers on an embedded Google map to represent the location of the 3 houses/businesses based on the address and zip code.
Say the query would return 3 addresses and zips.
I would like to have 3 markers on an embedded Google map to represent the location of the 3 houses/businesses based on the address and zip code.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
I would have three tables....
1. Customer table (Like before with Customer Id as primary Key)
2. Address table with just AddressId with fields AddressId, Address,City,State, Zip
3. The a customer address association table which would have keys CustomerId, AddressId, AddressType.
Data would look like:
Customer:
CustomerId:1111
CustomerFirstName: Larry
CustomerLastName: Smith
CustomerDOB:04/07/1992
Address Table:
AddressId:12
Address: 514 N. Meadowbrook
City: Olathe
State: KS
Zip: 66102
Customer_Address_Assocatio
CustomerId:1111
AddressId:12
AddressType:Mailing
Then sql would be Select A.CustomerFirstName, A.CustomerLastName, A.CustomerDOB, B.Address, B.City, B.State, B.Zip from CustomerTable A, AddressTable B, CustomerAddressAssocation C where
B.AddressId = C.Address_ID and A.CustomerId = B.CustomerId and B.AddressType = "MAILING"
This one would only bring back the mailing address. If I had other address "types" for the user (physical, work, etc), I would then just have another AddressType for each one. That way I can use the address over and over and save it one place.