PHP を使用して行政区画コードを解析する_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:53:10
オリジナル
1255 人が閲覧しました

この PHP スクリプトは何度も作成しましたが、国家統計局が提供するデータ形式が若干変更されたため、質問には PHP と MySQL の両方が含まれており、非常に適切だと感じました。多くの場合、質問の種類は求職者の基本的な資質を最もよく反映しています。

準備作業: 郡以上の最新の行政区画コードをダウンロードし、data.txt ファイルとして保存する必要があります。

PHP を使用して行政区画コードを解析する_PHP チュートリアル
郡以上の最新の行政区画コード

まず MySQL テーブルを作成します:
テーブルの文字セットとファイルの文字セットは一致している必要があることに注意してください。

`region` が存在しない場合はテーブルを作成 (
`id` int(10) unsigned NOT NULL,
`parent_id` int(10) unsigned NOT NULL,
`name` varchar(20) NOT NULL,
主キー (`id`)、
KEY `parent_id` (`parent_id`)
) ENGINE=InnoDB;
補足: 階層データの保存の改善: データベースへの階層データの保存に関する記事。

次に、PHP スクリプトを作成します。
data.txt ファイルの内容の合法性を確認する必要があり、コード自体は厳密に禁止されている検証の対象になっていないことに注意してください。

//設定
$host = '';
$dbname = '';
$charset = '';
$ユーザー名 = '';
$パスワード = '';

set_time_limit(0);

$dsn = "mysql:host={$host};dbname={$dbname};charset={$charset}";

$オプション = 配列(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
);

$dbh = 新しい PDO($dsn, $username, $password, $options);

$handle = fopen('data.txt', 'r');

$parent = array();

while (!feof($handle)) {
$row = トリム(fgets($handle));

if (!preg_match('/(d+)(s+)(.+)/', $row, $matches)) {
続けます;
}

list($row, $id, $delimiter, $name) = $matches;

if (!isset($separator)) {
$separator = $delimiter;
}

$level = substr_count($delimiter, $separator);

$parent_id = $level > 1 ? $parent[$level - 1] : 0;

$parent[$level] = $id;

$sth = $dbh->prepare('
リージョンに挿入 (id、parent_id、name)
値 (:id、:parent_id、:name)
');

$sth->bindValue(':id', $id, PDO::PARAM_INT);
$sth->bindValue(':parent_id', $parent_id, PDO::PARAM_INT);
$sth->bindValue(':name', $name);

$sth->execute();
}

fclose($handle);

?>
注: 独自の状況に応じて構成オプションを入力して、実行します。

……

公式の行政区画コードとプライベートIPデータベースを使用すると、さらに完璧になります。

著者: ラオ・ワン

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/478052.html技術記事ちなみに、このPHPスクリプトは何度も書いていますが、国家統計局が提供するデータ形式が少し変わったので、PHPと...
の両方に関わる問題なので、再度書き直しました。
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート