[ Príspevkov: 25 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.11.09
Prihlásený: 19.01.15
Príspevky: 181
Témy: 67 | 67
NapísalOffline : 17.07.2012 20:30 | Import CSV do MySQL

Dobry den,

ako mam prosim importovat CSV súbor do MySQL databazy?

Vytvoril som v databaze tabulky ale neviem ako tam dostat data z CSV?

Dakujem.


Offline

Čestný člen
Čestný člen
Import CSV do MySQL

Registrovaný: 21.02.06
Prihlásený: 08.12.14
Príspevky: 5447
Témy: 30 | 30
Bydlisko: Bratislava
NapísalOffline : 17.07.2012 21:07 | Import CSV do MySQL

Ak ide o jednorázové importovanie, tak phpmyadmin, alebo adminer (alebo čokolvek iné) umožňujú import z CSV.


_________________
Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.11.09
Prihlásený: 19.01.15
Príspevky: 181
Témy: 67 | 67
Napísal autor témyOffline : 17.07.2012 21:54 | Import CSV do MySQL

Phpmyadmin tam o tom viem ale ako vlozim tie spravne stlpce z CSV do presnej tabulky v databaze?

D.


Offline

Čestný člen
Čestný člen
Import CSV do MySQL

Registrovaný: 21.02.06
Prihlásený: 08.12.14
Príspevky: 5447
Témy: 30 | 30
Bydlisko: Bratislava
NapísalOffline : 18.07.2012 18:39 | Import CSV do MySQL

Akože nič v zlom, ale keby si si na skúšku exportoval nejakú tabuľku do CSV a potom importoval, tak by si zistil, ako na to.
Rovnako som to urobil ja teraz - pri importe z CSV sa nepoužívajú žiadne názvy stĺpcov, proste sa len importujú dáta. Tabuľke dá nejaký generický názov (napr. table 1), stĺpcom tiež (COL 1 aťd.).
Ak budeš importovať do už existujúcej tabuľky s pripravenými stĺpcami a stĺpce v CSV budú sedieť, tak ti ich importuje správne.


_________________
Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.11.09
Prihlásený: 19.01.15
Príspevky: 181
Témy: 67 | 67
Napísal autor témyOffline : 19.07.2012 20:57 | Import CSV do MySQL

Ano, to viemm vsimol som si to v Phpmyadmine.

Ako to ide prosim poriesit cez PHP, z weboveho rozhrania?

Neviem presne ako ma vypadat PHP a ako to ma celkom fungovat.

Dakujem.


Offline

Čestný člen
Čestný člen
Import CSV do MySQL

Registrovaný: 21.02.06
Prihlásený: 08.12.14
Príspevky: 5447
Témy: 30 | 30
Bydlisko: Bratislava
NapísalOffline : 19.07.2012 22:16 | Import CSV do MySQL

Vieš aká je štruktúra CSV? Ak nie, tak si ho otvor, zistíš. Ak hej, tak myslím, že musíš vedieť, ako tie dáta uložiť.
PHP má niekoľko funkcií na prácu s csv, námatkovo napr. http://php.net/manual/en/function.fgetcsv.php, ale spracovanie csv je naozaj jednoduchá záležitosť.


_________________
Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.11.09
Prihlásený: 19.01.15
Príspevky: 181
Témy: 67 | 67
Napísal autor témyOffline : 20.07.2012 11:02 | Import CSV do MySQL

Štrukuru CSV poznam ale neviem ako na cely princip funkcii.

Na webe by som chcel nacitat CSV a zapisat do databazy.

1. Musim mat domena.sk/import.php - kde bude moznost pridania suboru CSV

2. Dalej neviem ako na to

Dakujem.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.08.09
Prihlásený: 08.07.15
Príspevky: 169
Témy: 46 | 46
NapísalOffline : 20.07.2012 11:28 | Import CSV do MySQL

Na PHP.net stačí scrollovať nižšie a nájdeš toto:

Kód:
function csv_file_to_mysql_table($source_file, $target_table, $max_line_length=10000) {
    if (($handle = fopen("$source_file", "r")) !== FALSE) {
        $columns = fgetcsv($handle, $max_line_length, ",");
        foreach ($columns as &$column) {
            $column = str_replace(".","",$column);
        }
        $insert_query_prefix = "INSERT INTO $target_table (".join(",",$columns).")\nVALUES";
        while (($data = fgetcsv($handle, $max_line_length, ",")) !== FALSE) {
            while (count($data)<count($columns))
                array_push($data, NULL);
            $query = "$insert_query_prefix (".join(",",quote_all_array($data)).");";
            mysql_query($query);
        }
        fclose($handle);
    }
}


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.11.09
Prihlásený: 19.01.15
Príspevky: 181
Témy: 67 | 67
Napísal autor témyOffline : 20.07.2012 11:38 | Import CSV do MySQL

Ano, je tam toho viac ale ked som skusil aj tento kod kopirovat do php a potom nacitat cez browser tak nic.

Dakujem.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.08.09
Prihlásený: 08.07.15
Príspevky: 169
Témy: 46 | 46
NapísalOffline : 20.07.2012 11:44 | Import CSV do MySQL

Ak si to iba nakopíroval do .php suboru a spustil tak samozreme sa nic nestalo...
pod funckiu treba pridať:

Kód:
mysql_connect('lcoalhost', 'root', 'pass') or die(mysql_error());
mysql_select_db('nazov_db');
csv_file_to_mysql_table('cesta/suboru', 'nazov_tabulky');


Do tela funckie mozes pridat este riadok, do if aby si videl či sa vobec dostal do podmienky
Kód:
echo "Súbor sa úspešne načítal";


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.11.09
Prihlásený: 19.01.15
Príspevky: 181
Témy: 67 | 67
Napísal autor témyOffline : 20.07.2012 12:28 | Import CSV do MySQL

Kód:
mysql_connect('lcoalhost', 'root', 'pass') or die(mysql_error());
mysql_select_db('nazov_db');
csv_file_to_mysql_table('...........................................', 'nazov_tabulky');



......... tu ma byt cesta k CSV? (ked tam dam CSV tak ostane cista obrazovka a ked tam dam php tak vypise subor sa nacital ale v DB nic nieje)

Dakujem.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.08.09
Prihlásený: 08.07.15
Príspevky: 169
Témy: 46 | 46
NapísalOffline : 20.07.2012 12:48 | Import CSV do MySQL

Takže, testoval som to a tu je vysledok:

Kód:
<?php

function csv_file_to_mysql_table($source_file, $target_table, $max_line_length=10000) {
   if (($handle = fopen("$source_file", "r")) !== FALSE) {
      echo "pridane";
      $columns = fgetcsv($handle, $max_line_length, ",");
      foreach ($columns as &$column) {
         $column = str_replace(".","",$column);
      }
      $insert_query_prefix = "INSERT INTO $target_table (".join(",",$columns).")\nVALUES";
      while (($data = fgetcsv($handle, $max_line_length, ",")) !== FALSE) {
         while (count($data)<count($columns))
            array_push($data, NULL);
         $query = "$insert_query_prefix (".join(",",quote_all_array($data)).");";
         mysql_query($query);
      }
      fclose($handle);
   }
}

function quote_all_array($values) {
   foreach ($values as $key=>$value)
      if (is_array($value))
         $values[$key] = quote_all_array($value);
   else
      $values[$key] = quote_all($value);
   return $values;
}

function quote_all($value) {
   if (is_null($value))
      return "NULL";

   $value = "'" . mysql_real_escape_string($value) . "'";
   return $value;
}

mysql_connect('localhost', 'root', '') or die(mysql_error());
mysql_select_db('a_webdev');
csv_file_to_mysql_table('subor.csv', 'menu');

?>


subor.csv:
Kód:
id,name,url
1,nazov,url/nazov
2,nazov2,url/nazov2


Tabuľka musí obsahovať rovnaké názvy stĺpcov ako je definované v súbore csv.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.11.09
Prihlásený: 19.01.15
Príspevky: 181
Témy: 67 | 67
Napísal autor témyOffline : 23.07.2012 19:28 | Import CSV do MySQL

V DB mam tabulky presne take iste ako su v CSV a v PHP vypise "Pridane" ale realne v DB nic nieje importovane.

v DB mam tabulky:

Cena
Polozka

v CSV mam v jednom stlpci cena a druhom stlpci Polozka. Pod tym mam data, pod polozkou a pod cenou.

Kde robim moznu chybu?

D.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.08.09
Prihlásený: 08.07.15
Príspevky: 169
Témy: 46 | 46
NapísalOffline : 23.07.2012 22:06 | Import CSV do MySQL

Uprav query:
Kód:
mysql_query($query) or die(mysql_error());


Ako máš oddelené hodnoty v csv?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.11.09
Prihlásený: 19.01.15
Príspevky: 181
Témy: 67 | 67
Napísal autor témyOffline : 24.07.2012 10:20 | Import CSV do MySQL

Teraz vypise: pridaneNo database selected

V CSV mám oddelovac pola : a oddelovac textu ;

Dakujem.


Offline

Čestný člen
Čestný člen
Import CSV do MySQL

Registrovaný: 11.08.07
Príspevky: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 24.07.2012 10:24 | Import CSV do MySQL

elo píše:
No database selected
A od nas chces pomoct s touto hlaskou, pretoze si bezradny, alebo preto, ze si lenivy? Po precitani hlasky ti ani len nenapadlo, co moze znamenat? Google ti nevyplul ani jedno riesenie? Ani si sa neskusil zamysliet, co robia jednotlive riadky v kode, ktory si skopiroval?


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.08.09
Prihlásený: 08.07.15
Príspevky: 169
Témy: 46 | 46
NapísalOffline : 24.07.2012 10:31 | Import CSV do MySQL

Uprav mysq_connect() a mysql_select_db() podľa svojho serveru... a v databáze musíš vytvoriť tabuľku a jej meno dať potom do tej funkcie...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.11.09
Prihlásený: 19.01.15
Príspevky: 181
Témy: 67 | 67
Napísal autor témyOffline : 25.07.2012 12:05 | Import CSV do MySQL

Dobry den,

uz som to upravil, chyba bola v nazve tabulky.

Teraz hlasi:

pridaneYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';cislo,;;odberatel;;,;;dodavatel;;,;;typ;;,;;polozka;;,;;mnozstvo;;,;;cena;;;' at line 1

Mrzi ma, ze niekto to berie v zlom ale keby som to vedel, nepytam sa.

Tuto chybu hore si viem prelozit a myslim si, ze chyba bude niekde v CSV ale tam mam ako som pisal : a ;

Dakujem za pomoc.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.08.09
Prihlásený: 08.07.15
Príspevky: 169
Témy: 46 | 46
NapísalOffline : 25.07.2012 12:06 | Import CSV do MySQL

nahrad to ciarkami


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.11.09
Prihlásený: 19.01.15
Príspevky: 181
Témy: 67 | 67
Napísal autor témyOffline : 25.07.2012 12:13 | Import CSV do MySQL

Uz vazne neviem kde robim chybu:

pridaneYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'cislo,,,odberatel,,,dodavatel,,,typ,,,polozka,,,mnozstvo,,,cena,) VALUES ('20' at line 1


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.08.09
Prihlásený: 08.07.15
Príspevky: 169
Témy: 46 | 46
NapísalOffline : 25.07.2012 12:20 | Import CSV do MySQL

DeiForm píše:
subor.csv:
Kód:
id,name,url
1,nazov,url/nazov
2,nazov2,url/nazov2



Pozri si štruktúru a porovnaj to so svojim


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.11.09
Prihlásený: 19.01.15
Príspevky: 181
Témy: 67 | 67
Napísal autor témyOffline : 25.07.2012 13:38 | Import CSV do MySQL

CSV:

cislo_fa,odberatel,dodavatel,typ,polozka,mnozstvo,cena (v jednej bunke)

2012258,Firma,T-Com,25,5,2,258 (v druhej bunke, hned pod prvou)

PHP som upravil takto:

Kód:
csv_file_to_mysql_table('11.csv', 'cislo_fa', 'dodavatel', 'odberatel', 'polozka', 'mnozstvo', 'cena', 'typ');


Kde prosim robim chybu?


Offline

Čestný člen
Čestný člen
Import CSV do MySQL

Registrovaný: 21.02.06
Prihlásený: 08.12.14
Príspevky: 5447
Témy: 30 | 30
Bydlisko: Bratislava
NapísalOffline : 25.07.2012 18:36 | Import CSV do MySQL

Píše ti, že máš chybu v SQL dotaze.
Toto je časť tvojho SQL dotazu:
Kód:
'cislo,,,odberatel,,,dodavatel,,,typ,,,polozka,,,mnozstvo,,,cena,) VALUES ('20' at line 1

máš pocit, že sa tak správne zapisujú hodnoty do databázy? Nevidíš tam chybu?


_________________
Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme.
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 24.11.09
Prihlásený: 19.01.15
Príspevky: 181
Témy: 67 | 67
Napísal autor témyOffline : 25.07.2012 19:56 | Import CSV do MySQL

malo by to byt takto:

Kód:
'cislo,odberatel,dodavatel,typ,polozka,mnozstvo,cena,) VALUES ('20' at line 1


ale ako to docieliť?

Ď.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 27.08.09
Prihlásený: 08.07.15
Príspevky: 169
Témy: 46 | 46
NapísalOffline : 25.07.2012 20:01 | Import CSV do MySQL

Ja už neviem ako ti to mám napísať, alebo ti tumám napísať celú aplikáciu na tu aj s inputom a komplletným spracovaním alebo čo...

Použitie funckie ktorú máš je:

Kód:
csv_file_to_mysql_table('subor.csv', 'menu');


Kde subor.csv -> názov súboru ktorý chcše importovať
a menu -> názov tabuľky do ktorej to dávaš.

A nepíšem to tu prvý krát...


 [ Príspevkov: 25 ] 


Import CSV do MySQL



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

import dat do mysql

v Ponuka práce

2

757

15.03.2009 18:24

Spirit

V tomto fóre nie sú ďalšie neprečítané témy.

Import XML do MySQL pomocou PHP

v PHP, ASP

1

168

30.10.2015 8:17

BX

V tomto fóre nie sú ďalšie neprečítané témy.

databaza .csv

v Ostatné programy

2

445

19.12.2007 15:51

Mandy

V tomto fóre nie sú ďalšie neprečítané témy.

Export do CSV

v PHP, ASP

15

657

13.03.2015 16:31

BX

V tomto fóre nie sú ďalšie neprečítané témy.

Joomla a CSV Improved

v Redakčné systémy

5

820

25.05.2009 20:09

MKI-Miro

V tomto fóre nie sú ďalšie neprečítané témy.

prevod xml do csv

v HTML, XHTML, XML, CSS

1

807

29.03.2008 20:55

Triminka

V tomto fóre nie sú ďalšie neprečítané témy.

data z formularu do .csv

v PHP, ASP

2

298

23.01.2009 11:25

neopagan

V tomto fóre nie sú ďalšie neprečítané témy.

Cislo ako string v CSV

v PHP, ASP

2

431

23.06.2008 11:55

stenley

V tomto fóre nie sú ďalšie neprečítané témy.

oscommerce - problem s csv importom

v Redakčné systémy

0

336

18.04.2007 21:11

scooby

V tomto fóre nie sú ďalšie neprečítané témy.

PHP: Kodovanie pri vytvarani .csv

v PHP, ASP

2

375

22.08.2011 10:36

camo

V tomto fóre nie sú ďalšie neprečítané témy.

Export FB fans to csv

v Sociálne siete

0

97

24.09.2014 8:58

mio

V tomto fóre nie sú ďalšie neprečítané témy.

Excel - .csv subor uprava formatu

v Ostatné programy

2

745

22.06.2011 14:12

buco

V tomto fóre nie sú ďalšie neprečítané témy.

Zle kodovanie pri vkladani .csv do databazy

v Databázy

2

717

04.02.2008 19:07

eiger33

V tomto fóre nie sú ďalšie neprečítané témy.

STEP to STL konverzia(alebo MEG,CSV)

v Grafické programy

0

262

10.04.2011 15:06

MAREK17

V tomto fóre nie sú ďalšie neprečítané témy.

I/P: Mobilná dok. stanica USB-C Club3D CSV-1560

v Predám

0

53

29.06.2017 19:05

Ľubo

V tomto fóre nie sú ďalšie neprečítané témy.

Php Script: XML -> CSV (Problém s 0 na začiatku)

v PHP, ASP

5

83

21.11.2017 19:56

BX



© 2005 - 2017 PCforum, edited by JanoF