Autor Zpráva
snop
Profil
Zdravim,
snažim se napsat aplikaci ve ktere by se mi hodil import do databaze z csv souboru. Ale mám problémek.

Dokázu to pomocí této funkce, předpokládám:
http://dev.mysql.com/doc/refman/5.0/en/load-data.html

Ale potřebuji mít možnost mít na stránce tlačítko, kde vyberu soubor v místním počítači a ten se mi naimportuje na serveru do MySQL.

Může mi prosím pěkné někdo poradit?

Děkuju Ruda


Jenom doplním, že chci nahrávat ten soubor csv. Nevím jestli je to z toho pochopitelné.
Gecko
Profil *
Je tam záložka import...
snop
Profil
Gecko:
Je tam záložka import...

Kde je jaká záložka?
candiess
Profil
snop:
Kde je jaká záložka?
No pokud používáš phpMyadmin, tak v tom rozhraní máš záložky (nahoře) a jedna z nich je IMPORT

Pokud to chceš udělat v běhu aplikace, musíš si vymyslet skript..
- Nahrání souboru do určité složky na webu, poté MySQL příkaz pro import toho souboru

Pokud budeš googlit, určitě něco najdeš, hotovku ti tu nikdo asik nehodí :)
snop
Profil
candiess:
No pokud používáš phpMyadmin, tak v tom rozhraní máš záložky (nahoře) a jedna z nich je IMPORT
>
>
Pokud to chceš udělat v běhu aplikace, musíš si vymyslet skript..
- Nahrání souboru do určité složky na webu, poté MySQL příkaz pro import toho souboru
>
>
Pokud budeš googlit, určitě něco najdeš, hotovku ti tu nikdo asik nehodí :)

Nepoužívám phpMyadmin, ale to je uplně jedno, protože to chci za běhu aplikace.
Skriptík doufám taky zvládnu.

Ale netuším jak předat funkci load_data ten soubor. Chtěl bych ho pouze importovat a ne ho ukladat nekam do slozky na serveru.
Kajman
Profil
snop:
Pokud soubor nechcete uložit, tak data z něj rozparsujte a zavolejte klasické inserty.
snop
Profil
Kajman:
Pokud soubor nechcete uložit, tak data z něj rozparsujte a zavolejte klasické inserty.

Co bude limitující pokud soubor rozpasuju a zavolám inserty? Jde mi o to, že ty CSV soubory budou mít okolo 300-1000 řádků, řekněme o 3-5 sloupcích.

A omlouvám se, ale můžete mi prosím napsat jak udělat přímo na stránce: Vybrat soubor z počítače a rozparsovat ho? Já si prostě nedokážu nějak logicky dát dohromady jak ten soubor z počítače nějak vložit do nějaké proměnné.

Asi je to úplně triviální dotaz, ale já s tím mám problém.

Děkuju za trpělivost Ruda
candiess
Profil
snop:
Podle mě není způsob, jak bys mohl vytáhnout data ze souboru, aniž byjsi jej nahrál na server, jednoduše ho tam nahrej a po provedení aplikace smaž, ulehčíš si tím spoustu práce.

Tady máš odkaz na manuál s touto funkcí, je tam uvedený i příklad.

EDIT: tady máš další funkci str_getcsv ja s csv praxi nemám ale zkus si o tomhle přešíst.
snop
Profil
Tak mam tady neco co funguje, diky vsem za rady!

<?php
     include "db_login.php";


     if (!isset($_POST['akce'])) {$_POST['akce'] = "NOTHINK";}
     if ($_POST['akce'] == "upload") {
          $row = 1;
          if (($handle = fopen($_FILES['uploadedfile']['tmp_name'], "r")) !== FALSE) {
               while (($data = fgetcsv($handle, 1000, ";")) !== FALSE) {
                    $num = count($data);
                    echo "<p> $num fields in line $row: <br /></p>\n";
                    $row++;
                    for ($c=0; $c < $num; $c++) {
                         echo $data[$c] . "<br />\n";
                    }
               }
               fclose($handle);
          }
     }



?>

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: