Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Skrypt wciągający dane z csv do zapełnionej tabeli w MySQL, połączenie przez jedno pole - klucz
Yans
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 16.01.2011

Ostrzeżenie: (0%)
-----


Witajcie,

Robię migrację pewnego projektu. Po migracji okazało się, że jest jeszcze jedna tabela uzupełniająca dodatkowymi kilkoma kolumnami rekordy w innej większej tabeli

Mam sobie tabelę miejsc [to jest ta większa tabela] i wciągam do niej dane z pliku CSV [eksport z tabeli źródłowej] takim oto skryptem:
  1. if(isset($_GET['areas'])){
  2. $row = 0;
  3. if (($uchwyt = fopen ("tabela_areas.csv","r")) !== FALSE) {
  4.  
  5. while (($data = fgetcsv($uchwyt, 2500, ",")) !== FALSE) {
  6.  
  7. if($row < 3000){
  8. $sql = "INSERT INTO Areas (Id,Name,LogoKey,Communication,StartPointLat,StartPointLong,History,Geograph
    icalDescription,TouristDescription,EconomyDescription,Curiosities,CountryStates_I
    d,StateCounties_Id,CountyCommunes_Id,ZipCode,MapZoom,OverviewPhotoKey,DetailPhoto
    Key,GeoRegions_Id,Users_Id,State,Objects_Id,Tags,FilterMountain,FilterSea,FilterF
    orrest,FilterLake,FilterHit,UsersVote,GeoRegionProvince_Id,GeoRegionSubProvince_I
    d,GeoRegionMacroReg_Id,Icon)
  9. VALUES('".$data[0]."','".$data[1]."','".($data[2])."','".$data[3]."','".$data[4]."','".$data[5]."','".$data[6]."','".$data[7]."','".$data[8]."','" .$data[9]."','".$data[10]."','".$data[11]."','".$data[12])."','".$data[13]."','".$data[14]."','".$data[15]."','".$data[16]."','".$data[17]."' ,'".$data[18]."','".$data[19]."','".$data[20]."','".$data[21]."','".$data[22])."','".$data[23]."','".$data[24]."','".$data[25]."','". $data[26]."','".$data[27]."','".$data[28]."','".$data[29]."','".$data[30]."','".$data[31]."','".($data[32])."')";
  10. $this->main->DB->Execute($sql);
  11. }
  12. $row++;
  13. }
  14. fclose ($uchwyt);
  15. }
  16. }


Tabela uzupełniająca przechowuje klucz, który ma swój odpowiednik w powyższej zapełnianej tabeli, ale nie wiem jak napisać skypt, który do tej już zapełnionej tabeli places dociągnie z innego pliku CSV [wygeneruję go] 5 kolumien, które już dodałem do docelowej tabeli places.

Obecnieta dodatkowa tabela ma pola: Id [dla nas nieważne], Areas_Id [super ważne bo to klucz główny w tabeli places], Street, Phone, Email, WebPage, Name

Ostatecznie skrypt jaki muszę stworzyć musi do tabeli places dodać rekord po rekordzie dane z tego drugiego pliku CSV, ale dodając te 5 pól [Street, Phone, Email, WebPage, Name] do rekordów zawierających dokładnie to samo Id co Place_Id w tabeli dodatkowej.

Jak to napisać? - proszę o pomoc.

Pozdr. Maciej

Ten post edytował Yans 6.02.2011, 20:00:45
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 16:55