city.list.jsonから、都市名を抽出します。
Sapporo-shi, Kushiro, Sendai-shi, Niigata-shi,Kanazawa-shi
Nagoya-shi, Osaka-shi, Hiroshima-shi, Kochi-shi, Fukuoka-shi
Kagoshima-shi, Naha-shi
それぞれ、cake用に、sをつけてテーブルをつくります。
create table weather.nahas( id int unsigned auto_increment primary key, forecast datetime, main varchar(255), description varchar(255), temp float, humidity int, cloud int, speed float, created datetime default null );
sapporos, kushiros, sendais, niigatas, kanazawas, nagoyas,
osakas, hiroshimas, kochis, fukuokas, kagoshimas, nahas
kushiroは二つあるので注意が必要ですね。longitudeが144の方が北海度の釧路です。
{ "id": 2129376, "name": "Kushiro", "country": "JP", "coord": { "lon": 144.374725, "lat": 42.974998 } { "id": 1858025, "name": "Kushiro", "country": "JP", "coord": { "lon": 135.416672, "lat": 34.799999 }
テーブルが出来たので、データをDBに入れていきます。
まず、sapporoから。
問題なく入ってますね。
問題なさそうなので、一気に入れます。と思ったら、早速レコードに重複が出たのでやり直しのようです。(涙)
forecast datetime unique 修正にして、改めて一気にいれます。
<?php require "sapporos.php"; require "kushiros.php"; require "sendais.php"; require "niigatas.php"; require "kanazawas.php"; require "marunouchis.php"; require "yokohamas.php"; require "nagoyas.php"; require "osakas.php"; require "hiroshimas.php"; require "kochis.php"; require "fukuokas.php"; require "kagoshimas.php"; require "nahas.php"; ?>
面倒そうでしたが、やってみると案外サクサクいきましたね。