2012-05-18 3 views
1

У меня есть .txt файл с подробной информацией о всех странах в этом формате:получить подробную информацию о файле затем вставить в базу данных

Country,City,AccentCity,Region,Population,Latitude,Longitude 
ad,aixas,Aixàs,06,,42.4833333,1.4666667 
ad,aixirivali,Aixirivali,06,,42.4666667,1.5 
ad,aixirivall,Aixirivall,06,,42.4666667,1.5 
ad,aixirvall,Aixirvall,06,,42.4666667,1.5 
ad,aixovall,Aixovall,06,,42.4666667,1.4833333 
ad,andorra,Andorra,07,,42.5,1.5166667 
ad,andorra la vella,Andorra la Vella,07,20430,42.5,1.5166667 
ad,andorra-vieille,Andorra-Vieille,07,,42.5,1.5166667 
ad,andorre,Andorre,07,,42.5,1.5166667 
ad,andorre-la-vieille,Andorre-la-Vieille,07,,42.5,1.5166667 
ad,andorre-vieille,Andorre-Vieille,07,,42.5,1.5166667 
ad,ansalonga,Ansalonga,04,,42.5666667,1.5166667 

Я вставить эти данные в 3 таблицу, как города, штаты и страна без дублирования.

Любой возможный способ прочитать данные из файла .txt и вставить его в базу данных?

Как я могу получить базу данных штата и города?

+0

Какую 'РСУБД' вы используете? – Quassnoi

+0

Вам просто нужно прочитать файл, разбить каждую строку bei commata, создать инструкцию INSERT ... done (?) – djot

ответ

2

Прочитайте файл в формате CSV, а затем вставить:

if (($handle = fopen("cities.txt", "r")) !== FALSE) { 
    while (($data = fgetcsv($handle)) !== FALSE) { 
     // Craft your SQL insert statement such as: 
     $sql = "INSERT INTO cities (country, city, accent_city, etc.) VALUES ('{$data[0]}','{$data[1]}','{$data[2]}', etc.)"; 
     // Use the appropriate backend functions depending on your DB, mysql, postgres, etc. 
    } 
} 
+0

можно ли вставлять в 3 отдельные таблицы, такие как country state city – Natasha

+0

Несомненно, имейте в виду, что ваши данные набор предназначен для городов, и поэтому вы будете иметь дубликаты стран, если вы просто вставляете первый столбец каждый раз. Измените свой вопрос, чтобы включить определения таблиц, и я могу обновить ответ, чтобы показать вам, как вы можете это сделать. – davidethell

+0

Мне нужны только штаты и города Филиппин, т.е. $ data [0] = ph – Natasha

0

Если база данных MySQL, существует утилита для массовой вставки, documentation

Если нет, то, вероятно, ваша база данных имеет один тоже, но если вы хотите сделать это с помощью PHP, пример @ davidethell хорош для выполнения задачи

Смежные вопросы