Esempio n. 1
0
}
$country_ids = [];
foreach (db_geonames()->select('code', 'geoname_id')->from('geo_country')->get_2d() as $code => $id) {
    $id && ($country_ids[$code] = $id);
}
$region_ids = [];
foreach (db_geonames()->select('code', 'geoname_id')->from('geo_admin1')->get_2d() as $code => $id) {
    $id && ($region_ids[$code] = $id);
}
if ($lang) {
    $sql = '
		SELECT g.id, a.name, g.name AS name_eng, g.country, g.latitude, g.longitude, g.admin1, g.population
		FROM geo_geoname AS g
		LEFT JOIN geo_alternate_name AS a ON a.geoname_id = g.id
		WHERE 
			g.feature_class = "p"
			AND g.population > 10000
			AND a.language_code = "' . _es($lang) . '"
		GROUP BY g.id
		ORDER BY g.country, a.name COLLATE utf8_unicode_ci
	';
}
$to_update = [];
foreach (db_geonames()->get_all($sql) as $a) {
    $to_update[$a['id']] = ['id' => $a['id'], 'country' => $a['country'], 'name' => $a['name'], 'name_eng' => $a['name_eng'], 'population' => $a['population'], 'lat' => todecimal($a['latitude'], 6), 'lon' => todecimal($a['longitude'], 6), 'region_id' => $region_ids[$a['country'] . '.' . $a['admin1']]];
}
db()->replace_safe($table, $to_update);
db()->query('DELETE FROM ' . $table . ' WHERE country != "ua"') or print_r(db()->error());
db()->update($table, ['active' => 1], 'country = "ua"');
echo 'Trying to get 2 first records: ' . PHP_EOL;
print_r(db()->get_all('SELECT * FROM ' . $table . ' LIMIT 2'));
Esempio n. 2
0
#!/usr/bin/php
<?php 
require_once dirname(__DIR__) . '/scripts_init.php';
$table = DB_PREFIX . 'geo_countries';
$capital_ids = [];
foreach (db_geonames()->from('geo_geoname')->where('feature_code', '=', 'pplc')->get_all() as $a) {
    $capital_ids[$a['country']] = $a['id'];
}
$to_update = [];
foreach (db_geonames()->from('geo_country')->get_all() as $a) {
    $to_update[$a['code']] = ['code' => $a['code'], 'cont' => $a['continent'], 'tld' => substr($a['tld'], 1), 'currency' => $a['currency'], 'area' => $a['area'], 'population' => $a['population'], 'phone_prefix' => $a['phone_prefix'], 'languages' => $a['languages'], 'geoname_id' => $a['geoname_id'], 'capital_id' => $capital_ids[$a['code']]];
}
db()->update_batch_safe($table, $to_update, 'code');
echo 'Trying to get 2 first records: ' . PHP_EOL;
print_r(db()->get_all('SELECT * FROM ' . $table . ' LIMIT 2'));