przyglądam się temu skryptowi i widzę, że nie uwzględnia on gminy.
mam u siebie kilka miejscowości, które w mazowieckim się powtarzają. skrypt wyszukując po id miejscowości bierze pierwszy i zwraca to do merge.
jak wiadomo miejscowości są w różnych gminach. można by regexpować wraz z nazwą gminy i wówczas znajdywać w bazie teryt.
np. miejscowość Kąty, powiat sochaczewski, gm. sochaczew.
Jak w adresie wpiszę samą nazwę Kąty, to owszem, zgodzę się, że złapie pierwsze lepsze id i wypluwa;
location_city = 1689
mysql> SELECT * FROM `lms`.`location_cities` WHERE `id` = 1689;
+------+--------+-------+--------+-----------+
| id   | ident  | name  | cityid | boroughid |
+------+--------+-------+--------+-----------+
| 1689 | 121519 | Kąty  |   NULL |        19 |
+------+--------+-------+--------+-----------+
1 row in set (0.00 sec

czyli mamy gminę:

mysql> SELECT * FROM location_boroughs WHERE id = 19;
+----+-------------------+-------+------------+------+
| id | name              | ident | districtid | type |
+----+-------------------+-------+------------+------+
| 19 | Opinogóra Górna   | 7     |          2 |    2 |
+----+----------------

i województwo:

mysql> SELECT * FROM location_districts WHERE id = 2;
+----+--------------+-------+---------+
| id | name         | ident | stateid |
+----+--------------+-------+---------+
|  2 | ciechanowski | 2     |       1 |
+----+--------------+-------+---------+


czyli w wyniku mamy nie zamierzony efekt.
próbowałem wpisywać: "gm.sochaczew, Kąty 10" ale to nic nie daje. gm wywala i łapie samo kąty.
można by zmienić zapytanie i regexpa żeby w takich ewentualnościach łapał również gminę.
np.
gm.sochaczew, Kąty 10
powinno zwrócić location_city =  11780
czyli podążając za id, się zgadza. problem w tym, że wybierałem to ręcznie.

da się to zrobić? bo ja nie za bardzo wiem jak to poprawić :(


--
Pozdrawiam
Marcin / nicraM