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 * |
#2 · Zasláno: 8. 3. 2012, 09:56:37
Je tam záložka import...
|
||
snop Profil |
#3 · Zasláno: 8. 3. 2012, 15:01:37
Gecko:
„Je tam záložka import...“ Kde je jaká záložka? |
||
candiess Profil |
#4 · Zasláno: 8. 3. 2012, 15:42:52
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 |
#5 · Zasláno: 8. 3. 2012, 16:13:55
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 |
#6 · Zasláno: 8. 3. 2012, 16:32:09
snop:
Pokud soubor nechcete uložit, tak data z něj rozparsujte a zavolejte klasické inserty. |
||
snop Profil |
#7 · Zasláno: 8. 3. 2012, 16:38:40
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 |
#9 · Zasláno: 8. 3. 2012, 23:25:30
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); } } ?> |
||
Časová prodleva: 14 let
|
0