и в чем загвоздка?
здесь мы имеет связь таблиц - многие - ко многим, значит для связи таблиц нужно использовать 3-ю таблицу
пример
city (id, name)
- 1, Самара
- 2, Москва
service (id, name)
- 1, услуга1
- 2, услуга2
city_service (id_city, id_sevice) // делаешь составной уникальный ключ из обоих полей id_города + id_услуги - это избавит от проблем, если вдруг скажем городу 1 опять добавят услугу 1, хотя она там уже есть
- 1, 1 // город 1 предоставляет услугу 1
- 1, 2 // город 1 предоставляет услугу 2
дальше достаешь запросом нужные услуги, допустим из города Самара
$query = mysql_query("select cs.id_city, cs.id_service, c.id
as c_id,
c.name
as c_name,
s.id
as s_id, s.name
as s_name FROM city_service cs LEFT JOIN city c ON
c.id
= cs.id_city LEFT JOIN service s ON
s.id
= cs.id_service WHERE cs.id_city = 1") - выборка всех услуг в городе 1
$query = mysql_query("select cs.id_city, cs.id_service, c.id
as c_id,
c.name
as c_name,
s.id
as s_id, s.name
as s_name FROM city_service cs LEFT JOIN city c ON
c.id
= cs.id_city LEFT JOIN service s ON
s.id
= cs.id_service WHERE cs.id_service = 1") - - выборка всех городов с услугой 1
while ($row = mysql_fetch_assoc($query))
{
print_r($row) - вывод всех полей, которые вернула база, какие поля нужны сам выберешь
}